Thanks for your replay. That is just my self-introduction:) I want
to borrow the shared memory idea from KVM, I am not want to port a
whole KVM:) But for this project, there are some basic problems.
As I know, tsc counter is CPU specific. If the process running on
a multi-core platform, we must consider switching problem. The one
way, we can let the kernel to take of this. When switching to another
CPU, the kernel will reset the shared memory according to the new CPU.
The second way, we can use CPUID instruction to get the info of
current CPU, which can be executed in user mode ether. At the same
time, the kernel maintains shared memory for each CPU. When invoke
gettimeofday, the function will calculate precise time with current
CPU's shared memory.
I don't know which is better? Could I need to deal other problems?