[PATCH 010/208] x86/fpu: Simplify fpu__unlazy_stopped()

Ingo Molnar
2015-05-05T16:28:07Z

Open code the PF_USED_MATH logic, to make the logic more obvious.

(We'll slowly convert the other users of *_used_math() methods as well.)

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: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/kernel/i387.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
index 76006a701dbb..5e4dae70ffa5 100644
--- a/arch/x86/kernel/i387.c
+++ b/arch/x86/kernel/i387.c
@@ -290,7 +290,7 @@ static int fpu__unlazy_stopped(struct task_struct *child)
if (WARN_ON_ONCE(child == current))
return -EINVAL;

- if (tsk_used_math(child)) {
+ if (child->flags & PF_USED_MATH) {
task_disable_lazy_fpu_restore(child);
return 0;
}
@@ -304,7 +304,9 @@ static int fpu__unlazy_stopped(struct task_struct *child)

fpu_finit(&child->thread.fpu);

- set_stopped_child_used_math(child);
+ /* Safe to do for stopped child tasks: */
+ child->flags |= PF_USED_MATH;
+
return 0;
}

--
2.1.0