Commit 9ba6b791 authored by Ingo Molnar's avatar Ingo Molnar

x86/fpu: Optimize fpu__activate_fpstate_read()

fpu__activate_fpstate_read() is used before FPU registers are
read from the fpstate by ptrace and core dumping.

It's not necessary to unlazy non-current child tasks in this case,
since the reading of registers is non-destructive.

Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Bobby Powers <bobbypowers@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>
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: default avatarIngo Molnar <mingo@kernel.org>
parent 05602812
...@@ -312,10 +312,7 @@ void fpu__activate_fpstate_read(struct fpu *fpu) ...@@ -312,10 +312,7 @@ void fpu__activate_fpstate_read(struct fpu *fpu)
if (fpu->fpregs_active) { if (fpu->fpregs_active) {
fpu__save(fpu); fpu__save(fpu);
} else { } else {
if (fpu->fpstate_active) { if (!fpu->fpstate_active) {
/* Invalidate any lazy state: */
fpu->last_cpu = -1;
} else {
fpstate_init(&fpu->state); fpstate_init(&fpu->state);
/* Safe to do for current and for stopped child tasks: */ /* Safe to do for current and for stopped child tasks: */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment