]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/resctrl: Add SDCIAE feature in the command line options
authorBabu Moger <babu.moger@amd.com>
Thu, 13 Nov 2025 00:57:28 +0000 (18:57 -0600)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 21 Nov 2025 21:03:23 +0000 (22:03 +0100)
Add a kernel command-line parameter to enable or disable the exposure of
the L3 Smart Data Cache Injection Allocation Enforcement (SDCIAE) hardware
feature to resctrl.

Signed-off-by: Babu Moger <babu.moger@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Link: https://patch.msgid.link/c623edf7cb369ba9da966de47d9f1b666778a40e.1762995456.git.babu.moger@amd.com
Documentation/admin-guide/kernel-parameters.txt
Documentation/filesystems/resctrl.rst
arch/x86/kernel/cpu/resctrl/core.c

index 6c42061ca20e581b5192b66c6f25aba38d4f8ff8..29db32a868154cc87034eb339bd1e35197b829a1 100644 (file)
        rdt=            [HW,X86,RDT]
                        Turn on/off individual RDT features. List is:
                        cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp,
-                       mba, smba, bmec, abmc.
+                       mba, smba, bmec, abmc, sdciae.
                        E.g. to turn on cmt and turn off mba use:
                                rdt=cmt,!mba
 
index b7f35b07876a9fd6234a897d1789f4931cb87f84..d7a51cae6b26fd07d41e27041a97ff1b6a5c2216 100644 (file)
@@ -17,17 +17,18 @@ AMD refers to this feature as AMD Platform Quality of Service(AMD QoS).
 This feature is enabled by the CONFIG_X86_CPU_RESCTRL and the x86 /proc/cpuinfo
 flag bits:
 
-===============================================        ================================
-RDT (Resource Director Technology) Allocation  "rdt_a"
-CAT (Cache Allocation Technology)              "cat_l3", "cat_l2"
-CDP (Code and Data Prioritization)             "cdp_l3", "cdp_l2"
-CQM (Cache QoS Monitoring)                     "cqm_llc", "cqm_occup_llc"
-MBM (Memory Bandwidth Monitoring)              "cqm_mbm_total", "cqm_mbm_local"
-MBA (Memory Bandwidth Allocation)              "mba"
-SMBA (Slow Memory Bandwidth Allocation)         ""
-BMEC (Bandwidth Monitoring Event Configuration) ""
-ABMC (Assignable Bandwidth Monitoring Counters) ""
-===============================================        ================================
+=============================================================== ================================
+RDT (Resource Director Technology) Allocation                  "rdt_a"
+CAT (Cache Allocation Technology)                              "cat_l3", "cat_l2"
+CDP (Code and Data Prioritization)                             "cdp_l3", "cdp_l2"
+CQM (Cache QoS Monitoring)                                     "cqm_llc", "cqm_occup_llc"
+MBM (Memory Bandwidth Monitoring)                              "cqm_mbm_total", "cqm_mbm_local"
+MBA (Memory Bandwidth Allocation)                              "mba"
+SMBA (Slow Memory Bandwidth Allocation)                                ""
+BMEC (Bandwidth Monitoring Event Configuration)                        ""
+ABMC (Assignable Bandwidth Monitoring Counters)                        ""
+SDCIAE (Smart Data Cache Injection Allocation Enforcement)     ""
+=============================================================== ================================
 
 Historically, new features were made visible by default in /proc/cpuinfo. This
 resulted in the feature flags becoming hard to parse by humans. Adding a new
index 06ca5a30140c2f6d2c8d0b7324df9c0c6ecab13b..2b2935b3df8d302175b3fbc3c193907df7ac4224 100644 (file)
@@ -719,6 +719,7 @@ enum {
        RDT_FLAG_SMBA,
        RDT_FLAG_BMEC,
        RDT_FLAG_ABMC,
+       RDT_FLAG_SDCIAE,
 };
 
 #define RDT_OPT(idx, n, f)     \
@@ -745,6 +746,7 @@ static struct rdt_options rdt_options[]  __ro_after_init = {
        RDT_OPT(RDT_FLAG_SMBA,      "smba",     X86_FEATURE_SMBA),
        RDT_OPT(RDT_FLAG_BMEC,      "bmec",     X86_FEATURE_BMEC),
        RDT_OPT(RDT_FLAG_ABMC,      "abmc",     X86_FEATURE_ABMC),
+       RDT_OPT(RDT_FLAG_SDCIAE,    "sdciae",   X86_FEATURE_SDCIAE),
 };
 #define NUM_RDT_OPTIONS ARRAY_SIZE(rdt_options)