linux/arch/i386/xen
Jeremy Fitzhardinge 8b84ad942b xen: hack to prevent bad segment register reload
The hypervisor saves and restores the segment registers as part of the
state is saves while context switching.  If, during a context switch,
the next process doesn't use the TLS segments, it invalidates the GDT
entry, causing the segment register reload to fault.  This fault
effectively doubles the cost of a context switch.

This patch is a band-aid workaround which clears the usermode %gs
after it has been saved for the previous process, but before it gets
reloaded for the next, and it avoids having the hypervisor attempt to
erroneously reload it.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2007-07-18 08:47:44 -07:00
..
Kconfig xen: Add support for preemption 2007-07-18 08:47:44 -07:00
Makefile xen: SMP guest support 2007-07-18 08:47:44 -07:00
enlighten.c xen: hack to prevent bad segment register reload 2007-07-18 08:47:44 -07:00
events.c xen: SMP guest support 2007-07-18 08:47:44 -07:00
features.c xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
mmu.c xen: lazy-mmu operations 2007-07-18 08:47:44 -07:00
mmu.h xen: SMP guest support 2007-07-18 08:47:44 -07:00
multicalls.c xen: lazy-mmu operations 2007-07-18 08:47:44 -07:00
multicalls.h xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
setup.c xen: SMP guest support 2007-07-18 08:47:44 -07:00
smp.c xen: SMP guest support 2007-07-18 08:47:44 -07:00
time.c xen: Add support for preemption 2007-07-18 08:47:44 -07:00
xen-head.S xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
xen-ops.h xen: SMP guest support 2007-07-18 08:47:44 -07:00