Patch "x86/cpu: Fix LFENCE serialization check in init_amd()" has been added to the 4.14-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    x86/cpu: Fix LFENCE serialization check in init_amd()

to the 4.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     x86-cpu-fix-lfence-serialization-check-in-init_amd.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From rhythm.m.mahajan@xxxxxxxxxx  Wed Mar 15 12:38:00 2023
From: Rhythm Mahajan <rhythm.m.mahajan@xxxxxxxxxx>
Date: Wed, 15 Mar 2023 03:40:15 -0700
Subject: x86/cpu: Fix LFENCE serialization check in init_amd()
To: tglx@xxxxxxxxxxxxx
Cc: rhythm.m.mahajan@xxxxxxxxxx, mingo@xxxxxxxxxx, hpa@xxxxxxxxx, bp@xxxxxxx, gregkh@xxxxxxxxxxxxxxxxxxx, pawan.kumar.gupta@xxxxxxxxxxxxxxx, cascardo@xxxxxxxxxxxxx, surajjs@xxxxxxxxxx, daniel.sneddon@xxxxxxxxxxxxxxx, peterz@xxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx
Message-ID: <20230315104015.3607718-1-rhythm.m.mahajan@xxxxxxxxxx>

From: Rhythm Mahajan <rhythm.m.mahajan@xxxxxxxxxx>

The commit: 3f235279828c ("x86/cpu: Restore AMD's DE_CFG MSR after resume")
which was backported from the upstream commit: 2632daebafd0 renamed the
MSR_F10H_DECFG_LFENCE_SERIALIZE macro to MSR_AMD64_DE_CFG_LFENCE_SERIALIZE.
The fix for 4.14 and 4.9 changed MSR_F10H_DECFG_LFENCE_SERIALIZE to
MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT in the init_amd() function, but should
have used MSR_AMD64_DE_CFG_LFENCE_SERIALIZE.  This causes a discrepency in the
LFENCE serialization check in the init_amd() function.

This causes a ~16% sysbench memory regression, when running:
    sysbench --test=memory run

Fixes: 3f235279828c ("x86/cpu: Restore AMD's DE_CFG MSR after resume")
Signed-off-by: Rhythm Mahajan <rhythm.m.mahajan@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 arch/x86/kernel/cpu/amd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -950,7 +950,7 @@ static void init_amd(struct cpuinfo_x86
 		 * serializing.
 		 */
 		ret = rdmsrl_safe(MSR_AMD64_DE_CFG, &val);
-		if (!ret && (val & MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT)) {
+		if (!ret && (val & MSR_AMD64_DE_CFG_LFENCE_SERIALIZE)) {
 			/* A serializing LFENCE stops RDTSC speculation */
 			set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC);
 		} else {


Patches currently in stable-queue which might be from rhythm.m.mahajan@xxxxxxxxxx are

queue-4.14/x86-cpu-fix-lfence-serialization-check-in-init_amd.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux