RE: [PATCH v2 4.4 3/3] x86/fpu: Finish excising 'eagerfpu'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 
> 






[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux