1
linux/arch
Ingo van Lil fbfe9c847e um: Save FPU registers between task switches
Some time ago Jeff prepared 42daba3165 ("uml: stop saving process FP
state") for UML to stop saving the process FP state between task
switches.  The assumption was that since with SKAS0 every guest process
runs inside a host process context the host OS will take care of keeping
the proper FP state.

Unfortunately this is not true for multi-threaded applications, where
all guest threads share a single host process context yet all may use
the FPU on their own.  Although I haven't verified it I suspect things
to be even worse in SKAS3 mode where all guest processes run inside a
single host process.

The patch reintroduces the saving and restoring of the FP context
between task switches.

[richard@nod.at: Ingo posted this patch in 2009, sadly it was never applied
and got lost. Now in 2011 the problem was reported by Gunnar.]

Signed-off-by: Ingo van Lil <inguin@gmx.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Reported-by: <gunnarlindroth@hotmail.com>
Tested-by: <gunnarlindroth@hotmail.com>
Cc: Stanislav Meduna <stano@meduna.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-09-14 18:09:37 -07:00
..
alpha All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
arm Merge branch 'fixes' of git://git.linaro.org/people/arnd/arm-soc 2011-09-12 11:51:35 -07:00
avr32 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
blackfin All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
cris All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
frv All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
h8300 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
ia64 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
m32r All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
m68k All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
microblaze All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
mips All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
mn10300 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
openrisc Add missing DMA ops 2011-09-11 09:50:39 +02:00
parisc remove remaining references to nfsservctl 2011-08-29 16:31:59 -07:00
powerpc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-08-31 08:58:36 -07:00
s390 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
score modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
sh Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x 2011-08-29 13:34:48 -07:00
sparc sparc64: Only Panther cheetah+ chips have POPC. 2011-08-29 21:14:29 -07:00
tile Merge branch 'apei-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-08-03 21:53:27 -10:00
um um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
unicore32 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
x86 Merge branch 'upstream/bugfix' of git://github.com/jsgf/linux-xen 2011-09-12 17:22:31 -07:00
xtensa All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
.gitignore
Kconfig Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG 2011-08-03 11:12:37 -04:00