From: Ingo Molnar Date: Wed, 22 Apr 2015 18:09:29 +0000 (+0200) Subject: x86/fpu: Move fpu_copy() to fpu/core.c X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e102f30f4e22b7eb8f3dfbe7fec334cffb350fd8;p=deliverable%2Flinux.git x86/fpu: Move fpu_copy() to fpu/core.c Move fpu_copy() where its only user is. Beyond readability this also speeds up compilation, as fpu-internal.h is included in over a dozen .c files. Reviewed-by: Borislav Petkov Cc: Andy Lutomirski Cc: Dave Hansen Cc: Fenghua Yu Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Oleg Nesterov Cc: Peter Zijlstra Cc: Thomas Gleixner Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/include/asm/fpu-internal.h b/arch/x86/include/asm/fpu-internal.h index 1e2b6c67b1f1..e180fb96dd0d 100644 --- a/arch/x86/include/asm/fpu-internal.h +++ b/arch/x86/include/asm/fpu-internal.h @@ -565,20 +565,6 @@ extern int fpstate_alloc(struct fpu *fpu); extern void fpstate_free(struct fpu *fpu); extern int fpu__copy(struct task_struct *dst, struct task_struct *src); -static inline void fpu_copy(struct task_struct *dst, struct task_struct *src) -{ - if (use_eager_fpu()) { - memset(&dst->thread.fpu.state->xsave, 0, xstate_size); - __save_fpu(dst); - } else { - struct fpu *dfpu = &dst->thread.fpu; - struct fpu *sfpu = &src->thread.fpu; - - fpu__save(src); - memcpy(dfpu->state, sfpu->state, xstate_size); - } -} - static inline unsigned long alloc_mathframe(unsigned long sp, int ia32_frame, unsigned long *buf_fx, unsigned long *size) diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c index 6ce971ccd85b..2cc2380b95ce 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -203,6 +203,20 @@ void fpstate_free(struct fpu *fpu) } EXPORT_SYMBOL_GPL(fpstate_free); +static void fpu_copy(struct task_struct *dst, struct task_struct *src) +{ + if (use_eager_fpu()) { + memset(&dst->thread.fpu.state->xsave, 0, xstate_size); + __save_fpu(dst); + } else { + struct fpu *dfpu = &dst->thread.fpu; + struct fpu *sfpu = &src->thread.fpu; + + fpu__save(src); + memcpy(dfpu->state, sfpu->state, xstate_size); + } +} + int fpu__copy(struct task_struct *dst, struct task_struct *src) { dst->thread.fpu.counter = 0;