[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <175196903576.406.13041437070983440590.tip-bot2@tip-bot2>
Date: Tue, 08 Jul 2025 10:03:55 -0000
From: "tip-bot2 for Perry Yuan" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: Perry Yuan <perry.yuan@....com>,
Mario Limonciello <mario.limonciello@....com>,
"Borislav Petkov (AMD)" <bp@...en8.de>, ilpo.jarvinen@...ux.intel.com,
x86@...nel.org, linux-kernel@...r.kernel.org
Subject: [tip: x86/platform] x86/process: Clear hardware feedback history for
AMD processors
The following commit has been merged into the x86/platform branch of tip:
Commit-ID: 9e8f6bf782a96d45a25ef9bc17db06bafb6b3e21
Gitweb: https://git.kernel.org/tip/9e8f6bf782a96d45a25ef9bc17db06bafb6b3e21
Author: Perry Yuan <perry.yuan@....com>
AuthorDate: Mon, 09 Jun 2025 15:05:14 -05:00
Committer: Borislav Petkov (AMD) <bp@...en8.de>
CommitterDate: Mon, 07 Jul 2025 22:30:36 +02:00
x86/process: Clear hardware feedback history for AMD processors
Incorporate a mechanism within the context switching code to reset the
hardware history for AMD processors. Specifically, when a task is switched in,
the class ID is read and the hardware workload classification history of the
CPU firmware is reset. Then, the workload classification for the next running
thread is begun.
[ bp: Massage commit message. ]
Signed-off-by: Perry Yuan <perry.yuan@....com>
Co-developed-by: Mario Limonciello <mario.limonciello@....com>
Signed-off-by: Mario Limonciello <mario.limonciello@....com>
Signed-off-by: Borislav Petkov (AMD) <bp@...en8.de>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Link: https://lore.kernel.org/20250609200518.3616080-10-superm1@kernel.org
---
arch/x86/kernel/process_64.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index b972bf7..52a5c03 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -707,6 +707,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
/* Load the Intel cache allocation PQR MSR. */
resctrl_arch_sched_in(next_p);
+ /* Reset hw history on AMD CPUs */
+ if (cpu_feature_enabled(X86_FEATURE_AMD_WORKLOAD_CLASS))
+ wrmsrl(MSR_AMD_WORKLOAD_HRST, 0x1);
+
return prev_p;
}
Powered by blists - more mailing lists