diff options
author | Oleg Nesterov <oleg@redhat.com> | 2015-03-13 18:30:30 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-03-23 10:13:58 +0100 |
commit | f893959b0898bd876673adbeb6798bdf25c034d7 (patch) | |
tree | c0b9d2b3d247912f35e0f1304767e65975205842 /ipc | |
parent | 9cb6ce823bbd1adbe15e30bd1435c84c2e271767 (diff) | |
download | lwn-f893959b0898bd876673adbeb6798bdf25c034d7.tar.gz lwn-f893959b0898bd876673adbeb6798bdf25c034d7.zip |
x86/fpu: Don't abuse drop_init_fpu() in flush_thread()
flush_thread() -> drop_init_fpu() is suboptimal and confusing. It does
drop_fpu() or restore_init_xstate() depending on !use_eager_fpu(). But
flush_thread() too checks eagerfpu right after that, and if it is true
then restore_init_xstate() just burns CPU for no reason. We are going to
load init_xstate_buf again after we set used_math()/user_has_fpu(), until
then the FPU state can't survive after switch_to().
Remove it, and change the "if (!use_eager_fpu())" to call drop_fpu().
While at it, clean up the tsk/current usage.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Pekka Riikonen <priikone@iki.fi>
Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Suresh Siddha <sbsiddha@gmail.com>
Link: http://lkml.kernel.org/r/20150313173030.GA31217@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions