Oops, So sorry. I finally figured out why cc-cmd was not working. I had "suppresscc all" on my gitconfig for another project. I will resend the patches. > -----Original Message----- > From: stable-owner@xxxxxxxxxxxxxxx <stable-owner@xxxxxxxxxxxxxxx> On Behalf > Of Daniel Sangorrin > Sent: Monday, July 9, 2018 3:40 PM > To: stable@xxxxxxxxxxxxxxx > Cc: greg@xxxxxxxxxxxxxxxxxxx; ben.hutchings@xxxxxxxxxxxxxxx > Subject: [PATCH v2 4.4 3/3] x86/fpu: Finish excising 'eagerfpu' > > From: Andy Lutomirski <luto@xxxxxxxxxx> > > commit e63650840e8b053aa09ad934877e87e9941ed135 upstream > > Now that eagerfpu= is gone, remove it from the docs and some > comments. Also sync the changes to tools/. > > Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> > Cc: Borislav Petkov <bp@xxxxxxxxx> > Cc: Brian Gerst <brgerst@xxxxxxxxx> > Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> > Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> > Cc: H. Peter Anvin <hpa@xxxxxxxxx> > Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Cc: Oleg Nesterov <oleg@xxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Link: > http://lkml.kernel.org/r/cf430dd4481d41280e93ac6cf0def1007a67fc8e.14767403 > 97.git.luto@xxxxxxxxxx > Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> > Signed-off-by: Daniel Sangorrin <daniel.sangorrin@xxxxxxxxxxxxx> > --- > > This is the 3rd of 3 patches that I backported to remove fpu lazy mode > deadcode from stable 4.4. > Fixed a small conflict due to 'nopku' not being in 4.4.y. > I also solved another conflict caused by not having these files in 4.4.y > arch/x86/include/asm/cpufeatures.h > arch/x86/mm/pkeys.c > tools/arch/x86/include/asm/cpufeatures.h > Instead I removed the X86_FEATURE_EAGER_FPU definition from > arch/x86/include/asm/cpufeature.h > > Documentation/kernel-parameters.txt | 10 ++-------- > arch/x86/include/asm/cpufeature.h | 1 - > arch/x86/include/asm/fpu/types.h | 23 ----------------------- > 3 files changed, 2 insertions(+), 32 deletions(-) > > diff --git a/Documentation/kernel-parameters.txt > b/Documentation/kernel-parameters.txt > index 4df6bd7..e0f9b21 100644 > --- a/Documentation/kernel-parameters.txt > +++ b/Documentation/kernel-parameters.txt > @@ -961,12 +961,6 @@ bytes respectively. Such letter suffixes can also be entirely > omitted. > See Documentation/x86/intel_mpx.txt for more > information about the feature. > > - eagerfpu= [X86] > - on enable eager fpu restore > - off disable eager fpu restore > - auto selects the default scheme, which automatically > - enables eagerfpu restore for xsaveopt. > - > module.async_probe [KNL] > Enable asynchronous probe on this module. > > @@ -2321,7 +2315,7 @@ bytes respectively. Such letter suffixes can also be entirely > omitted. > will be sent. > The default is to send the implementation identification > information. > - > + > nfs.recover_lost_locks = > [NFSv4] Attempt to recover locks that were lost due > to a lease timeout on the server. Please note that > @@ -3907,7 +3901,7 @@ bytes respectively. Such letter suffixes can also be entirely > omitted. > See also Documentation/input/joystick-parport.txt > > udbg-immortal [PPC] When debugging early kernel crashes that > - happen after console_init() and before a proper > + happen after console_init() and before a proper > console driver takes over, this boot options might > help "seeing" what's going on. > > diff --git a/arch/x86/include/asm/cpufeature.h > b/arch/x86/include/asm/cpufeature.h > index 232621c..ac4aa86 100644 > --- a/arch/x86/include/asm/cpufeature.h > +++ b/arch/x86/include/asm/cpufeature.h > @@ -104,7 +104,6 @@ > #define X86_FEATURE_EXTD_APICID ( 3*32+26) /* has extended APICID > (8 bits) */ > #define X86_FEATURE_AMD_DCM ( 3*32+27) /* multi-node processor */ > #define X86_FEATURE_APERFMPERF ( 3*32+28) /* APERFMPERF */ > -/* free, was #define X86_FEATURE_EAGER_FPU ( 3*32+29) * "eagerfpu" Non > lazy FPU restore */ > #define X86_FEATURE_NONSTOP_TSC_S3 ( 3*32+30) /* TSC doesn't stop in S3 > state */ > > /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ > diff --git a/arch/x86/include/asm/fpu/types.h > b/arch/x86/include/asm/fpu/types.h > index dcb85a9..0d81c7d 100644 > --- a/arch/x86/include/asm/fpu/types.h > +++ b/arch/x86/include/asm/fpu/types.h > @@ -310,29 +310,6 @@ struct fpu { > * the registers in the FPU are more recent than this state > * copy. If the task context-switches away then they get > * saved here and represent the FPU state. > - * > - * After context switches there may be a (short) time period > - * during which the in-FPU hardware registers are unchanged > - * and still perfectly match this state, if the tasks > - * scheduled afterwards are not using the FPU. > - * > - * This is the 'lazy restore' window of optimization, which > - * we track though 'fpu_fpregs_owner_ctx' and 'fpu->last_cpu'. > - * > - * We detect whether a subsequent task uses the FPU via setting > - * CR0::TS to 1, which causes any FPU use to raise a #NM fault. > - * > - * During this window, if the task gets scheduled again, we > - * might be able to skip having to do a restore from this > - * memory buffer to the hardware registers - at the cost of > - * incurring the overhead of #NM fault traps. > - * > - * Note that on modern CPUs that support the XSAVEOPT (or other > - * optimized XSAVE instructions), we don't use #NM traps anymore, > - * as the hardware can track whether FPU registers need saving > - * or not. On such CPUs we activate the non-lazy ('eagerfpu') > - * logic, which unconditionally saves/restores all FPU state > - * across context switches. (if FPU state exists.) > */ > union fpregs_state state; > /* > -- > 2.1.4 > >