mirror of https://gitee.com/openkylin/linux.git
x86/fpu: Move task_xstate_cachep handling to core.c
This code was historically in process.c, now we have FPU core internals in fpu/core.c instead - move it there. Reviewed-by: Borislav Petkov <bp@alien8.de> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
0afc4a941c
commit
8ffb53ab98
|
@ -564,6 +564,8 @@ static inline unsigned short get_fpu_mxcsr(struct task_struct *tsk)
|
|||
}
|
||||
}
|
||||
|
||||
extern void fpstate_cache_init(void);
|
||||
|
||||
extern int fpstate_alloc(struct fpu *fpu);
|
||||
|
||||
static inline void fpstate_free(struct fpu *fpu)
|
||||
|
|
|
@ -147,6 +147,21 @@ void fpstate_init(struct fpu *fpu)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(fpstate_init);
|
||||
|
||||
/*
|
||||
* FPU state allocation:
|
||||
*/
|
||||
struct kmem_cache *task_xstate_cachep;
|
||||
EXPORT_SYMBOL_GPL(task_xstate_cachep);
|
||||
|
||||
void fpstate_cache_init(void)
|
||||
{
|
||||
task_xstate_cachep =
|
||||
kmem_cache_create("task_xstate", xstate_size,
|
||||
__alignof__(union thread_xstate),
|
||||
SLAB_PANIC | SLAB_NOTRACK, NULL);
|
||||
setup_xstate_comp();
|
||||
}
|
||||
|
||||
int fpstate_alloc(struct fpu *fpu)
|
||||
{
|
||||
if (fpu->state)
|
||||
|
|
|
@ -75,9 +75,6 @@ void idle_notifier_unregister(struct notifier_block *n)
|
|||
EXPORT_SYMBOL_GPL(idle_notifier_unregister);
|
||||
#endif
|
||||
|
||||
struct kmem_cache *task_xstate_cachep;
|
||||
EXPORT_SYMBOL_GPL(task_xstate_cachep);
|
||||
|
||||
/*
|
||||
* this gets called so that we can store lazy state into memory and copy the
|
||||
* current task into the new thread.
|
||||
|
@ -106,11 +103,7 @@ void arch_release_task_struct(struct task_struct *tsk)
|
|||
|
||||
void arch_task_cache_init(void)
|
||||
{
|
||||
task_xstate_cachep =
|
||||
kmem_cache_create("task_xstate", xstate_size,
|
||||
__alignof__(union thread_xstate),
|
||||
SLAB_PANIC | SLAB_NOTRACK, NULL);
|
||||
setup_xstate_comp();
|
||||
fpstate_cache_init();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue