linux/drivers
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
..
acorn [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
acpi [PATCH] wrong order of kzalloc arguments 2007-02-09 08:28:48 -08:00
amba [ARM] Fix __must_check warnings in drivers/bus/amba.c 2006-11-30 14:04:49 +00:00
ata libata: kill ATA_ENABLE_PATA 2007-02-09 17:39:40 -05:00
atm [PATCH] Get rid of "double zeroing" of allocated pages 2007-02-11 10:51:31 -08:00
auxdisplay [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
base [PATCH] Drop __get_zone_counts() 2007-02-11 10:51:18 -08:00
block [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
bluetooth [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
cdrom [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
char [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
clocksource [PATCH] clocksource: small cleanup 2006-12-10 09:57:22 -08:00
connector [PATCH] connector: some fixes for ia64 unaligned access errors 2007-01-05 23:55:29 -08:00
cpufreq [CPUFREQ] check sysfs_create_link return value 2007-01-29 00:06:27 -05:00
crypto Merge branch 'HEAD' of master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6 2007-02-08 15:25:18 -08:00
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] EDAC: Add Fully-Buffered DIMM APIs to core 2007-02-12 09:48:32 -08:00
eisa
fc4 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
firmware [PATCH] docbook: add edd firmware interfaces 2007-02-11 10:51:32 -08:00
hid HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG 2007-02-05 10:00:45 +01:00
hwmon [PATCH] hwmon: ansify 2007-02-09 09:14:06 -08:00
i2c [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
ide [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
ieee1394 [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
infiniband [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
input [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
isdn [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
kvm [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
leds [PATCH] Fix leds-s3c24xx hardware.h reference 2007-01-05 23:55:21 -08:00
macintosh [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
mca
md [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
media [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
message [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2007-02-11 11:39:00 -08:00
mtd [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
net [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
nubus
oprofile [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
parisc [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
parport [PATCH] Kconfig refactoring for better menu nesting 2006-12-10 09:55:39 -08:00
pci [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
pcmcia [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
pnp [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
ps3 [PATCH] ps3: disable display flipping during mode changes 2007-02-12 09:48:44 -08:00
rapidio [PATCH] rapidio: fix multi-switch enumeration 2007-02-11 11:18:07 -08:00
rtc [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -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
sbus [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
scsi [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
serial [PATCH] atmel_serial: Use __raw I/O register access 2007-02-12 09:48:29 -08:00
sh
sn [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
spi [PATCH] SPI eeprom driver 2007-02-12 09:48:31 -08:00
tc [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
telephony [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
usb [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
video [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
w1 [PATCH] w1: Use ARRAY_SIZE macro when appropriate 2007-02-12 09:48:28 -08:00
zorro [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
Kconfig [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
Makefile [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00