]> git.baikalelectronics.ru Git - kernel.git/commit
x86/fpu: Simplify fpstate_sanitize_xstate() calls
authorIngo Molnar <mingo@kernel.org>
Tue, 28 Apr 2015 09:17:55 +0000 (11:17 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 19 May 2015 13:48:00 +0000 (15:48 +0200)
commit402413fad0f9743b79bc82c12af8a36a0f9f873d
tree5a0397d21e5d47972a01adfe1f35014b5670c51f
parent8a867969e39ad210c6975430b125a4f024261d62
x86/fpu: Simplify fpstate_sanitize_xstate() calls

Remove the extra layer of __fpstate_sanitize_xstate():

if (!use_xsaveopt())
return;
__fpstate_sanitize_xstate(tsk);

and move the check for use_xsaveopt() into fpstate_sanitize_xstate().

In general we optimize for the presence of CPU features, not for
the absence of them. Furthermore there's little point in this inlining,
as the call sites are not super hot code paths.

Doing this uninlining shrinks the code a bit:

   text    data     bss     dec     hex filename
   14108751        2573624 1634304 18316679        1177d87 vmlinux.before
   14108627        2573624 1634304 18316555        1177d0b vmlinux.after

Also remove a pointless '!fx' check from fpstate_sanitize_xstate().

Cc: Andy Lutomirski <luto@amacapital.net>
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: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/fpu/internal.h
arch/x86/kernel/fpu/xstate.c