[PATCH 0/1] Try 2: Make the TSC safe to be use by gettimeofday().

Suleiman Souhlal
2006-11-14T23:28:57Z

Hi,

Here are the fixes from the previous version:
- Don't use hard_smp_processor_id().
- Use the PDA to store a pointer to the current CPU's vxtime data.
- Use vgetcpu() to get the CPU number from vgettimeofday()
(Due to a bug in vgetcpu(), this only works with CONFIG_HOTPLUG_CPU=y)
- No externs in .c files
- Use idle notifiers instead of doing the HPET read in switch_to
- Fix race in vgettimeofday() by checking the RIP of the process we're switching away from
in switch_to, and touching the vxtime seqlock if it happens to be in the VSYSCALL page.
(I hope this is not considered too much work for switch_to)
- Remove usage of preempt_disable/enable() in do_gettimeoday(), since the above fix make it
unnecessary.

-- Suleiman