1
linux/arch
Arjan van de Ven f3d73707a1 [PATCH] x86-64: Mark rdtsc as sync only for netburst, not for core2
On the Core2 cpus, the rdtsc instruction is not serializing (as defined
in the architecture reference since rdtsc exists) and due to the deep
speculation of these cores, it's possible that you can observe time go
backwards between cores due to this speculation. Since the kernel
already deals with this with the SYNC_RDTSC flag, the solution is
simple, only assume that the instruction is serializing on family 15...

The price one pays for this is a slightly slower gettimeofday (by a
dozen or two cycles), but that increase is quite small to pay for a
really-going-forward tsc counter.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
2006-12-07 02:14:12 +01:00
..
alpha [NET]: Alpha checksum annotations and cleanups. 2006-12-02 21:23:01 -08:00
arm Fix misc Kconfig typos 2006-11-30 05:22:59 +01:00
arm26 [PATCH] remove bogus arch-specific syscall exports 2006-10-11 11:17:07 -07:00
avr32 AVR32: Add missing return instruction in __raw_writesb 2006-11-06 14:07:16 +01:00
cris [NET]: Cris checksum annotations and cleanups. 2006-12-02 21:23:02 -08:00
frv [NET]: FRV checksum annotations. 2006-12-02 21:23:03 -08:00
h8300 [PATCH] relocatable kernel: Kallsyms generate relocatable symbols 2006-12-07 02:14:04 +01:00
i386 [PATCH] i386: always enable regparm 2006-12-07 02:14:12 +01:00
ia64 [PATCH] i386: change the 'no_control' field to 'hotpluggable' in the struct cpu 2006-12-07 02:14:10 +01:00
m32r [NET]: M32R checksum annotations and cleanups. 2006-12-02 21:23:06 -08:00
m68k [NET]: M68K checksum annotations and cleanups. 2006-12-02 21:23:07 -08:00
m68knommu [PATCH] relocatable kernel: Kallsyms generate relocatable symbols 2006-12-07 02:14:04 +01:00
mips [MIPS] Cleanup memory barriers for weakly ordered systems. 2006-12-04 22:43:14 +00:00
parisc [NET]: PARISC checksum annotations and cleanups. 2006-12-02 21:23:10 -08:00
powerpc [PATCH] i386: change the 'no_control' field to 'hotpluggable' in the struct cpu 2006-12-07 02:14:10 +01:00
ppc [PATCH] relocatable kernel: Kallsyms generate relocatable symbols 2006-12-07 02:14:04 +01:00
s390 [S390] Don't use small stacks when lockdep is used. 2006-12-04 15:41:10 +01:00
sh [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
sh64 [NET]: SH64 checksum annotations and cleanups. 2006-12-02 21:23:11 -08:00
sparc [PATCH] relocatable kernel: Kallsyms generate relocatable symbols 2006-12-07 02:14:04 +01:00
sparc64 [PATCH] relocatable kernel: Kallsyms generate relocatable symbols 2006-12-07 02:14:04 +01:00
um [NET]: UML checksum annotations and cleanups. 2006-12-02 21:23:12 -08:00
v850 [PATCH] relocatable kernel: Kallsyms generate relocatable symbols 2006-12-07 02:14:04 +01:00
x86_64 [PATCH] x86-64: Mark rdtsc as sync only for netburst, not for core2 2006-12-07 02:14:12 +01:00
xtensa [PATCH] vmlinux.lds: consolidate initcall sections 2006-10-27 15:34:51 -07:00