Re: [PATCH 4.4 10/24] x86/fpu: Hard-disable lazy FPU mode

From: 'Greg Kroah-Hartman'
Date: Fri Jun 15 2018 - 03:06:49 EST


On Fri, Jun 15, 2018 at 02:23:08PM +0900, Daniel Sangorrin wrote:
> > -----Original Message-----
> > From: stable-owner@xxxxxxxxxxxxxxx [mailto:stable-owner@xxxxxxxxxxxxxxx] On
> > Behalf Of 'Greg Kroah-Hartman'
> > Sent: Friday, June 15, 2018 1:56 PM
> > To: Daniel Sangorrin <daniel.sangorrin@xxxxxxxxxxxxx>
> > Cc: linux-kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; 'Andy Lutomirski'
> > <luto@xxxxxxxxxx>; 'Rik van Riel' <riel@xxxxxxxxxx>; 'Borislav Petkov'
> > <bp@xxxxxxxxx>; 'Brian Gerst' <brgerst@xxxxxxxxx>; 'Dave Hansen'
> > <dave.hansen@xxxxxxxxxxxxxxx>; 'Denys Vlasenko' <dvlasenk@xxxxxxxxxx>;
> > 'Fenghua Yu' <fenghua.yu@xxxxxxxxx>; 'H. Peter Anvin' <hpa@xxxxxxxxx>; 'Josh
> > Poimboeuf' <jpoimboe@xxxxxxxxxx>; 'Linus Torvalds'
> > <torvalds@xxxxxxxxxxxxxxxxxxxx>; 'Oleg Nesterov' <oleg@xxxxxxxxxx>; 'Peter
> > Zijlstra' <peterz@xxxxxxxxxxxxx>; 'Quentin Casasnovas'
> > <quentin.casasnovas@xxxxxxxxxx>; 'Thomas Gleixner' <tglx@xxxxxxxxxxxxx>;
> > pbonzini@xxxxxxxxxx; 'Ingo Molnar' <mingo@xxxxxxxxxx>
> > Subject: Re: [PATCH 4.4 10/24] x86/fpu: Hard-disable lazy FPU mode
> >
> > On Fri, Jun 15, 2018 at 01:24:27PM +0900, Daniel Sangorrin wrote:
> > > Hi Greg,
> > >
> > > > /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */
> > > > --- a/arch/x86/include/asm/fpu/internal.h
> > > > +++ b/arch/x86/include/asm/fpu/internal.h
> > > > @@ -58,7 +58,7 @@ extern u64 fpu__get_supported_xfeatures_
> > > > */
> > > > static __always_inline __pure bool use_eager_fpu(void)
> > > > {
> > > > - return static_cpu_has_safe(X86_FEATURE_EAGER_FPU);
> > > > + return true;
> > > > }
> > >
> > > Since this function returns always true then we can remove the code depending on
> > lazy FPU mode.
> > > Actually this has already been done in "x86/fpu: Remove use_eager_fpu()"
> > > Ref: https://patchwork.kernel.org/patch/9365883/
> > >
> > > > static void __init fpu__init_parse_early_param(void)
> > > > {
> > > > - if (cmdline_find_option_bool(boot_command_line, "eagerfpu=off")) {
> > > > - eagerfpu = DISABLE;
> > > > - fpu__clear_eager_fpu_features();
> > > > - }
> > >
> > > Since this patch removes the kernel boot parameter "eagerfpu", maybe we should
> > remove it from the Documentation.
> > > This has also been done by commit "x86/fpu: Finish excising 'eagerfpu'"
> > > Ref: https://patchwork.kernel.org/patch/9380673/
> > >
> > > I will try backporting those patches unless anyone has any objections.
> >
> > What are the git commit ids of those patches in Linus's tree? No need
> > to point to patchwork links, I don't use that tool.
>
> OK, I got it.
>
> "x86/fpu: Remove use_eager_fpu()": c592b57347069abfc0dcad3b3a302cf882602597
> "x86/fpu: Finish excising 'eagerfpu'": e63650840e8b053aa09ad934877e87e9941ed135

Minor nit. For kernel commits, the "normal" way we reference them looks
like this:
c592b5734706 ("x86/fpu: Remove use_eager_fpu()")
e63650840e8b ("x86/fpu: Finish excising 'eagerfpu'")

Which makes it much easier to read and understand. That's what we use
for the "Fixes:" tag in commits and in other places (text in commit
messages.)

To automatically generate that format, you can just do:
git show -s --abbrev-commit --abbrev=12 --pretty=format:"%h (\"%s\")%n"

I recommend just setting up an alias for the above line, otherwise it's
a pain to have to remember how to do it all the time. Here's what I do:
$ alias gsr='git show -s --abbrev-commit --abbrev=12 --pretty=format:"%h (\"%s\")%n"'
$ gsr c592b57347069abfc0dcad3b3a302cf882602597
c592b5734706 ("x86/fpu: Remove use_eager_fpu()")

> Unfortunately, they don't apply cleanly to stable kernels.

Should be very simple to backport if you want to. Also I need copies
for the 4.9.y tree as well if you do so.

thanks,

greg k-h