x86, fpu: split FPU state from task struct - v5
authorSuresh Siddha <suresh.b.siddha@intel.com>
Mon, 10 Mar 2008 22:28:04 +0000 (15:28 -0700)
committerIngo Molnar <mingo@elte.hu>
Sat, 19 Apr 2008 17:19:55 +0000 (19:19 +0200)
commit61c4628b538608c1a85211ed8438136adfeb9a95
tree290a695299a363153bc692e6d705ac680d64359e
parentfa5c4639419668cbb18ca3d20c1253559a3b43ae
x86, fpu: split FPU state from task struct - v5

Split the FPU save area from the task struct. This allows easy migration
of FPU context, and it's generally cleaner. It also allows the following
two optimizations:

1) only allocate when the application actually uses FPU, so in the first
lazy FPU trap. This could save memory for non-fpu using apps. Next patch
does this lazy allocation.

2) allocate the right size for the actual cpu rather than 512 bytes always.
Patches enabling xsave/xrstor support (coming shortly) will take advantage
of this.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 files changed:
arch/x86/kernel/Makefile
arch/x86/kernel/i387.c
arch/x86/kernel/process.c [new file with mode: 0644]
arch/x86/kernel/process_32.c
arch/x86/kernel/process_64.c
arch/x86/kernel/traps_32.c
arch/x86/kernel/traps_64.c
arch/x86/math-emu/fpu_entry.c
arch/x86/math-emu/fpu_system.h
arch/x86/math-emu/reg_ld_str.c
include/asm-x86/i387.h
include/asm-x86/processor.h
include/asm-x86/thread_info.h
include/asm-x86/thread_info_32.h
include/asm-x86/thread_info_64.h
kernel/fork.c