linux/arch/x86_64/kernel
john stultz d0aff6e6f4 x86_64: vsyscall time() fix
The vsyscall time() function basically returns the second portion of
xtime directly.  This however means that there is about a ticks worth of
time each second where time() will return a second value less then what
gettimeofday() does.

Additionally, this window where vtime() is behind vgettimeofday() grows
when dynticks is enabled, so its probably good to get this in before
dynticks lands.

Big thanks to Sripathi for noticing this issue and creating a test case
to work with!

This patch changes the vtime() implemenation to call vgettimeofday(),
much as syscall time() implementation calls gettimeofday().

2.6.21 stable candidate too

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21 09:56:57 -07:00
..
acpi [PATCH] x86-64: Move cpu verification code to common file 2007-05-02 19:27:08 +02:00
cpufreq [CPUFREQ] cleanup kconfig options 2007-04-26 14:32:03 -04:00
aperture.c x86_64: off-by-two error in aperture.c 2007-05-11 12:53:00 -07:00
apic.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
asm-offsets.c [PATCH] x86-64: Auto compute __NR_syscall_max at compile time 2007-05-02 19:27:18 +02:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
bugs.c x86_64: Add asm/mtrr.h include for some builds 2007-05-12 09:47:15 -07:00
crash.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
crash_dump.c [PATCH] kdump: read previous kernel's memory 2006-01-10 08:01:28 -08:00
e820.c swsusp: do not use page flags 2007-05-07 12:12:59 -07:00
early-quirks.c [PATCH] x86: revert x86_64-mm-fix-the-irqbalance-quirk-for-e7320-e7520-e7525 2007-05-02 19:27:04 +02:00
early_printk.c x86_64: early_print kernel console should send CRLF not LFCR 2007-05-21 09:56:57 -07:00
entry.S [PATCH] x86-64: a few missing entry.S annotations 2007-05-02 19:27:05 +02:00
genapic.c [PATCH] x86: adjust inclusion of asm/fixmap.h 2007-05-02 19:27:04 +02:00
genapic_flat.c [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c 2007-05-02 19:27:21 +02:00
head.S [PATCH] x86-64: Remove unused stext symbol 2007-05-02 19:27:10 +02:00
head64.c x86_64: display more intuitive error message if kernel is not 2MB aligned 2007-05-11 08:29:32 -07:00
hpet.c failsafe mechanism to HPET clock calibration 2007-04-14 21:44:03 -07:00
i387.c [PATCH] x86-64: use BUILD_BUG_ON in FPU code 2006-12-07 02:14:01 +01:00
i8259.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
init_task.c [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c 2006-10-02 07:57:20 -07:00
io_apic.c Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
ioport.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
irq.c wrap access to thread_info 2007-05-09 12:30:56 -07:00
k8.c cache_k8_northbridges() overflows beyond allocation 2007-04-16 18:09:18 -07:00
kprobes.c Kprobes: The ON/OFF knob thru debugfs 2007-05-08 11:15:19 -07:00
ldt.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
machine_kexec.c Revert "[PATCH] x86: __pa and __pa_symbol address space separation" 2007-05-07 08:44:24 -07:00
Makefile x86, serial: convert legacy COM ports to platform devices 2007-05-08 11:15:23 -07:00
mce.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
mce_amd.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
mce_intel.c [PATCH] x86: Add a cumulative thermal throttle event counter. 2006-09-26 10:52:42 +02:00
module.c [PATCH] Generic BUG for x86-64 2006-12-08 08:28:39 -08:00
mpparse.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
nmi.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
pci-calgary.c [PATCH] x86-64: dma_ops as const 2007-05-02 19:27:06 +02:00
pci-dma.c [PATCH] x86-64: improved iommu documentation 2007-02-13 13:26:21 +01:00
pci-gart.c x86_64: off-by-two error in aperture.c 2007-05-11 12:53:00 -07:00
pci-nommu.c [PATCH] x86-64: dma_ops as const 2007-05-02 19:27:06 +02:00
pci-swiotlb.c [PATCH] x86-64: dma_ops as const 2007-05-02 19:27:06 +02:00
pmtimer.c [PATCH] time: x86_64: convert x86_64 to use GENERIC_TIME 2007-02-16 08:14:00 -08:00
process.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
ptrace.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
reboot.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
relocate_kernel.S [PATCH] Avoid overwriting the current pgd (V4, x86_64) 2006-09-26 10:52:38 +02:00
setup.c x86_64: Don't call mtrr_bp_init from identify_cpu 2007-05-11 12:53:00 -07:00
setup64.c [PATCH] x86: Allow percpu variables to be page-aligned 2007-05-02 19:27:12 +02:00
signal.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smpboot.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
stacktrace.c simplify the stacktrace code 2007-05-08 11:14:58 -07:00
suspend.c [PATCH] x86: Save and restore the fixed-range MTRRs of the BSP when suspending 2007-05-02 19:27:17 +02:00
suspend_asm.S [PATCH] x86-64: Relocatable Kernel Support 2007-05-02 19:27:07 +02:00
sys_x86_64.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
syscall.c [PATCH] x86-64: Auto compute __NR_syscall_max at compile time 2007-05-02 19:27:18 +02:00
tce.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
time.c Add IRQF_IRQPOLL flag on x86_64 2007-05-08 11:15:22 -07:00
trampoline.S [PATCH] x86-64: Move cpu verification code to common file 2007-05-02 19:27:08 +02:00
traps.c Revert "ipmi: add new IPMI nmi watchdog handling" 2007-05-14 15:24:24 -07:00
tsc.c [PATCH] x86: Log reason why TSC was marked unstable 2007-05-02 19:27:08 +02:00
tsc_sync.c [PATCH] x86: Log reason why TSC was marked unstable 2007-05-02 19:27:08 +02:00
verify_cpu.S [PATCH] x86-64: Use symbolic CPU features in early CPUID check 2007-05-02 19:27:20 +02:00
vmlinux.lds.S [PATCH] x86-64: Remove CONFIG_REORDER 2007-05-02 19:27:21 +02:00
vsmp.c [PATCH] Fix build breakage with CONFIG_X86_VSMP 2006-10-12 12:25:27 -07:00
vsyscall.c x86_64: vsyscall time() fix 2007-05-21 09:56:57 -07:00
x8664_ksyms.c [PATCH] x86: Export _proxy_pda for gcc 4.2 2007-03-16 21:07:36 +01:00