]> Git Repo - linux.git/commitdiff
x86/resctrl: Remove arch_has_empty_bitmaps
authorBabu Moger <[email protected]>
Tue, 27 Sep 2022 20:16:36 +0000 (15:16 -0500)
committerBorislav Petkov <[email protected]>
Mon, 24 Oct 2022 08:30:29 +0000 (10:30 +0200)
The field arch_has_empty_bitmaps is not required anymore. The field
min_cbm_bits is enough to validate the CBM (capacity bit mask) if the
architecture can support the zero CBM or not.

Suggested-by: Reinette Chatre <[email protected]>
Signed-off-by: Babu Moger <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Reviewed-by: Reinette Chatre <[email protected]>
Reviewed-by: Fenghua Yu <[email protected]>
Link: https://lore.kernel.org/r/166430979654.372014.615622285687642644.stgit@bmoger-ubuntu
arch/x86/kernel/cpu/resctrl/core.c
arch/x86/kernel/cpu/resctrl/ctrlmondata.c
include/linux/resctrl.h

index 3266ea36667c3566b04c90ea71bbf3c95fced0b6..03cfbf0fe0000b13672482ce744d9bec49121472 100644 (file)
@@ -828,7 +828,6 @@ static __init void rdt_init_res_defs_intel(void)
                if (r->rid == RDT_RESOURCE_L3 ||
                    r->rid == RDT_RESOURCE_L2) {
                        r->cache.arch_has_sparse_bitmaps = false;
-                       r->cache.arch_has_empty_bitmaps = false;
                        r->cache.arch_has_per_cpu_cfg = false;
                        r->cache.min_cbm_bits = 1;
                } else if (r->rid == RDT_RESOURCE_MBA) {
@@ -849,7 +848,6 @@ static __init void rdt_init_res_defs_amd(void)
                if (r->rid == RDT_RESOURCE_L3 ||
                    r->rid == RDT_RESOURCE_L2) {
                        r->cache.arch_has_sparse_bitmaps = true;
-                       r->cache.arch_has_empty_bitmaps = true;
                        r->cache.arch_has_per_cpu_cfg = true;
                        r->cache.min_cbm_bits = 0;
                } else if (r->rid == RDT_RESOURCE_MBA) {
index 1dafbdc5ac31627e9391832fdf032685871eb637..1df0e3262bcaedce88dcf970f4e080745842be5d 100644 (file)
@@ -105,8 +105,7 @@ static bool cbm_validate(char *buf, u32 *data, struct rdt_resource *r)
                return false;
        }
 
-       if ((!r->cache.arch_has_empty_bitmaps && val == 0) ||
-           val > r->default_ctrl) {
+       if ((r->cache.min_cbm_bits > 0 && val == 0) || val > r->default_ctrl) {
                rdt_last_cmd_puts("Mask out of range\n");
                return false;
        }
index 0cf5b20c6ddf8e5187d674b06f224d579d6f7d66..0cee154abc9fd932db9eb9e4c7385386ec361382 100644 (file)
@@ -89,11 +89,12 @@ struct rdt_domain {
 /**
  * struct resctrl_cache - Cache allocation related data
  * @cbm_len:           Length of the cache bit mask
- * @min_cbm_bits:      Minimum number of consecutive bits to be set
+ * @min_cbm_bits:      Minimum number of consecutive bits to be set.
+ *                     The value 0 means the architecture can support
+ *                     zero CBM.
  * @shareable_bits:    Bitmask of shareable resource with other
  *                     executing entities
  * @arch_has_sparse_bitmaps:   True if a bitmap like f00f is valid.
- * @arch_has_empty_bitmaps:    True if the '0' bitmap is valid.
  * @arch_has_per_cpu_cfg:      True if QOS_CFG register for this cache
  *                             level has CPU scope.
  */
@@ -102,7 +103,6 @@ struct resctrl_cache {
        unsigned int    min_cbm_bits;
        unsigned int    shareable_bits;
        bool            arch_has_sparse_bitmaps;
-       bool            arch_has_empty_bitmaps;
        bool            arch_has_per_cpu_cfg;
 };
 
This page took 0.061624 seconds and 4 git commands to generate.