kernel_optimize_test/arch/um/kernel
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
..
skas thp: pte alloc trans splitting 2011-01-13 17:32:40 -08:00
asm-offsets.c
config.c.in uml: remove useless comments 2009-04-01 08:59:17 -07:00
dyn.lds.S uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc 2010-10-26 16:52:12 -07:00
early_printk.c um: add earlyprintk support 2011-05-25 08:39:41 -07:00
exec.c um, exec: remove redundant set_fs(USER_DS) 2011-07-25 20:57:12 -07:00
exitcode.c uml: convert to seq_file/proc_fops 2009-12-15 08:53:25 -08:00
gmon_syms.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
gprof_syms.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
init_task.c Rename .data.init_irqstack to .data..init_irqstack. 2010-03-03 11:25:59 +01:00
initrd.c uml: fix initrd printk 2008-02-23 17:12:13 -08:00
internal.h uml: fix compile warning 2010-09-22 17:22:39 -07:00
irq.c um: Use generic show_interrupts() 2011-03-24 20:35:57 +01:00
ksyms.c Deal with missing exports for hostfs 2010-08-09 16:47:25 -04:00
Makefile um: add earlyprintk support 2011-05-25 08:39:41 -07:00
mem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
physmem.c UML: make several more things static 2008-07-24 10:47:24 -07:00
process.c um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
ptrace.c um: fix ptrace build error 2010-11-12 07:55:30 -08:00
reboot.c um: remove dead code 2011-07-25 20:57:13 -07:00
sigio.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
signal.c x86, um: sanitize uml sigcontext.h uses 2008-10-22 22:55:20 -07:00
smp.c mm: now that all old mmu_gather code is gone, remove the storage 2011-05-25 08:39:16 -07:00
syscall.c uml: fix compile warning 2010-09-22 17:22:39 -07:00
sysrq.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
time.c um: Fix read_persistent_clock fallout 2010-08-03 20:36:07 +02:00
tlb.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
trap.c um: print info about fatal segfaults 2011-05-25 08:39:41 -07:00
uaccess.c UML: make several more things static 2008-07-24 10:47:24 -07:00
um_arch.c uml: deal with inaccessible address space start 2008-06-06 11:29:10 -07:00
umid.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
uml.lds.S uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc 2010-10-26 16:52:12 -07:00
vmlinux.lds.S arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00