1
0
Fork 0
alistair23-linux/arch
Jeremy Fitzhardinge db949bba3c x86-32: use non-lazy io bitmap context switching
Impact: remove 32-bit optimization to prepare unification

x86-32 and -64 differ in the way they context-switch tasks
with io permission bitmaps.  x86-64 simply copies the next
tasks io bitmap into place (if any) on context switch.  x86-32
invalidates the bitmap on context switch, so that the next
IO instruction will fault; at that point it installs the
appropriate IO bitmap.

This makes context switching IO-bitmap-using tasks a bit more
less expensive, at the cost of making the next IO instruction
slower due to the extra fault.  This tradeoff only makes sense
if IO-bitmap-using processes are relatively common, but they
don't actually use IO instructions very often.

However, in a typical desktop system, the only process likely
to be using IO bitmaps is the X server, and nothing at all on
a server.  Therefore the lazy context switch doesn't really win
all that much, and its just a gratuitious difference from
64-bit code.

This patch removes the lazy context switch, with a view to
unifying this code in a later change.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-03-02 12:07:48 +01:00
..
alpha Merge branch 'linus' into x86/apic 2009-02-22 20:05:19 +01:00
arm Merge branch 'x86/urgent' into x86/pat 2009-03-01 12:47:58 +01:00
avr32 Merge branch 'linus' into x86/apic 2009-02-22 20:05:19 +01:00
blackfin Merge branch 'core/header-fixes' into x86/headers 2009-02-13 21:05:03 +01:00
cris Merge branch 'syscalls' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2009-01-14 19:58:40 -08:00
frv FRV: in_interrupt() requires #inclusion of linux/hardirq.h not asm/hardirq.h now 2009-02-09 08:51:35 -08:00
h8300 headers_check fix: h8300, swab.h 2009-02-01 11:01:24 +05:30
ia64 Merge branch 'x86/urgent' into x86/pat 2009-03-01 12:47:58 +01:00
m32r eeprom: More consistent symbol names 2009-01-26 21:19:57 +01:00
m68k m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
m68knommu m68knommu: fix 5329 ColdFire periphal addressing 2009-01-27 16:42:03 +10:00
mips Merge branch 'x86/urgent' into x86/pat 2009-03-01 12:47:58 +01:00
mn10300 Merge branch 'linus' into x86/apic 2009-02-22 20:05:19 +01:00
parisc Merge branch 'core/header-fixes' into x86/headers 2009-02-13 21:05:03 +01:00
powerpc Merge branch 'x86/urgent' into x86/pat 2009-03-01 12:47:58 +01:00
s390 [S390] fix "mem=" handling in case of standby memory 2009-02-19 15:19:19 +01:00
sh sh: ap325rxa: Revert ov772x support. 2009-02-27 15:41:14 +09:00
sparc Merge branch 'x86/urgent' into x86/pat 2009-03-01 12:47:58 +01:00
um uml: fix vde network backend in user mode linux 2009-02-20 17:57:48 -08:00
x86 x86-32: use non-lazy io bitmap context switching 2009-03-02 12:07:48 +01:00
xtensa headers_check fix: xtensa, swab.h 2009-02-01 11:01:30 +05:30
.gitignore
Kconfig [CVE-2009-0029] System call wrapper infrastructure 2009-01-14 14:15:16 +01:00