diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2008-03-10 18:28:04 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 13:19:55 -0400 |
commit | 61c4628b538608c1a85211ed8438136adfeb9a95 (patch) | |
tree | 290a695299a363153bc692e6d705ac680d64359e /include/asm-x86/thread_info.h | |
parent | fa5c4639419668cbb18ca3d20c1253559a3b43ae (diff) |
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>
Diffstat (limited to 'include/asm-x86/thread_info.h')
-rw-r--r-- | include/asm-x86/thread_info.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-x86/thread_info.h b/include/asm-x86/thread_info.h index d5fd12f2abdb..407b88c170d3 100644 --- a/include/asm-x86/thread_info.h +++ b/include/asm-x86/thread_info.h | |||
@@ -1,5 +1,13 @@ | |||
1 | #ifndef _ASM_X86_THREAD_INFO_H | ||
1 | #ifdef CONFIG_X86_32 | 2 | #ifdef CONFIG_X86_32 |
2 | # include "thread_info_32.h" | 3 | # include "thread_info_32.h" |
3 | #else | 4 | #else |
4 | # include "thread_info_64.h" | 5 | # include "thread_info_64.h" |
5 | #endif | 6 | #endif |
7 | |||
8 | #ifndef __ASSEMBLY__ | ||
9 | extern void arch_task_cache_init(void); | ||
10 | extern void free_thread_info(struct thread_info *ti); | ||
11 | extern int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src); | ||
12 | #endif | ||
13 | #endif /* _ASM_X86_THREAD_INFO_H */ | ||