linux/arch
Jeremy Fitzhardinge 464d1a78fb [PATCH] i386: Convert i386 PDA code to use %fs
Convert the PDA code to use %fs rather than %gs as the segment for
per-processor data.  This is because some processors show a small but
measurable performance gain for reloading a NULL segment selector (as %fs
generally is in user-space) versus a non-NULL one (as %gs generally is).

On modern processors the difference is very small, perhaps undetectable.
Some old AMD "K6 3D+" processors are noticably slower when %fs is used
rather than %gs; I have no idea why this might be, but I think they're
sufficiently rare that it doesn't matter much.

This patch also fixes the math emulator, which had not been adjusted to
match the changed struct pt_regs.

[frederik.deweerdt@gmail.com: fixit with gdb]
[mingo@elte.hu: Fix KVM too]

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Ian Campbell <Ian.Campbell@XenSource.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Zachary Amsden <zach@vmware.com>
Cc: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2007-02-13 13:26:20 +01:00
..
alpha [PATCH] Dynamic kernel command-line: alpha 2007-02-12 09:48:37 -08:00
arm [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
arm26 [PATCH] Dynamic kernel command-line: arm26 2007-02-12 09:48:37 -08:00
avr32 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
cris [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
frv [PATCH] Dynamic kernel command-line: frv 2007-02-12 09:48:37 -08:00
h8300 [PATCH] Dynamic kernel command-line: h8300 2007-02-12 09:48:38 -08:00
i386 [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
ia64 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
m32r [PATCH] Dynamic kernel command-line: m32r 2007-02-12 09:48:38 -08:00
m68k [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
m68knommu [PATCH] Dynamic kernel command-line: m68knommu 2007-02-12 09:48:38 -08:00
mips [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
parisc [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
powerpc [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
ppc [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-02-12 09:57:44 -08:00
sh [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
sh64 [PATCH] Dynamic kernel command-line: sh64 2007-02-12 09:48:39 -08:00
sparc [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
sparc64 [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
um [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
v850 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
x86_64 [PATCH] x86-64: x86_64-make-the-numa-hash-function-nodemap-allocation fix fix 2007-02-13 13:26:20 +01:00
xtensa [PATCH] Dynamic kernel command-line: xtensa 2007-02-12 09:48:39 -08:00