Messages in this thread | | | Date | Mon, 3 Mar 2008 09:50:00 +0100 | From | Ingo Molnar <> | Subject | Re: [patch 1/2] x86, fpu: split FPU state from task struct - v2 |
| |
* Suresh Siddha <suresh.b.siddha@intel.com> wrote:
> 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.
thanks, i've applied your two patches to x86.git#testing.
the #ifdefs are still a bit ugly:
> +#ifndef arch_task_cache_init > +#define arch_task_cache_init() > +#endif
use a __weak alias instead. (that way if an architecture defines the function, that function takes over automatically at link time, without any #ifdef complications)
> +#ifndef arch_dup_task_struct > +static inline int arch_dup_task_struct(struct task_struct *dst, > + struct task_struct *src) > +{ > + *dst = *src; > + return 0; > +} > +#endif
ditto.
Ingo
| |