]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/cpufeatures: Add X86_FEATURE_AMD_WORKLOAD_CLASS feature bit
authorPerry Yuan <perry.yuan@amd.com>
Mon, 28 Oct 2024 02:02:41 +0000 (21:02 -0500)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 28 Oct 2024 12:44:44 +0000 (13:44 +0100)
Add a new feature bit that indicates support for workload-based heuristic
feedback to OS for scheduling decisions.

When the bit set, threads are classified during runtime into enumerated
classes. The classes represent thread performance/power characteristics
that may benefit from special scheduling behaviors.

Signed-off-by: Perry Yuan <perry.yuan@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Link: https://lore.kernel.org/r/20241028020251.8085-4-mario.limonciello@amd.com
arch/x86/include/asm/cpufeatures.h
arch/x86/kernel/cpu/scattered.c

index 1216a0588ba8e1d97f46450ac5e37e6d73eb325b..05e985ce9880d086ef57272c510406539729383e 100644 (file)
 #define X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT (21*32+ 4) /* Clear branch history at vmexit using SW loop */
 #define X86_FEATURE_AMD_FAST_CPPC      (21*32 + 5) /* Fast CPPC */
 #define X86_FEATURE_AMD_HETEROGENEOUS_CORES (21*32 + 6) /* Heterogeneous Core Topology */
+#define X86_FEATURE_AMD_WORKLOAD_CLASS (21*32 + 7) /* Workload Classification */
 
 /*
  * BUG word(s)
index 307a9174153431bf25eaf49ace8748effdfb4b7f..1e5433259444341bf86303449bccf8af1ba0eccf 100644 (file)
@@ -49,6 +49,7 @@ static const struct cpuid_bit cpuid_bits[] = {
        { X86_FEATURE_MBA,              CPUID_EBX,  6, 0x80000008, 0 },
        { X86_FEATURE_SMBA,             CPUID_EBX,  2, 0x80000020, 0 },
        { X86_FEATURE_BMEC,             CPUID_EBX,  3, 0x80000020, 0 },
+       { X86_FEATURE_AMD_WORKLOAD_CLASS,       CPUID_EAX,  22, 0x80000021, 0 },
        { X86_FEATURE_PERFMON_V2,       CPUID_EAX,  0, 0x80000022, 0 },
        { X86_FEATURE_AMD_LBR_V2,       CPUID_EAX,  1, 0x80000022, 0 },
        { X86_FEATURE_AMD_LBR_PMC_FREEZE,       CPUID_EAX,  2, 0x80000022, 0 },