I am working on MUlti-processor record-replay feature of a virtual machine.
I have a log of non-deterministic memory access done in the virtual machine by virtual CPUs.
A very high proportion of these point to kernel space memory ie above 0Xc0000000.
For example heres a list of 10 most accessed kernel memory address after running SPLASH benchmark in the Virtual machine
0xfffb5000 0xc1779db0 0xc18b6910 0xc1771a44 0xc1771a40 0xc1779e00 0xc18b67e0 0xc18b693c 0xc18b67f0 0xfffa1000
I want to know if there is some way of finding what exactly are in these memory address ... is it the kernel stack , vsyscall page, scheduler's ready list ...
So that i can then think of some way of solving this overhead to speed up record replay....
Hints to where to look in the kernel code is welcome