[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250609162139.91651-5-tony.luck@intel.com>
Date: Mon, 9 Jun 2025 09:21:38 -0700
From: Tony Luck <tony.luck@...el.com>
To: babu.moger@....com
Cc: Xiaojian.Du@....com,
akpm@...ux-foundation.org,
alexandre.chartre@...cle.com,
andrew.cooper3@...rix.com,
ardb@...nel.org,
bmoger@....com,
bp@...en8.de,
corbet@....net,
daniel.sneddon@...ux.intel.com,
dave.hansen@...ux.intel.com,
dave.martin@....com,
ebiggers@...gle.com,
eranian@...gle.com,
fenghuay@...dia.com,
gautham.shenoy@....com,
gregkh@...uxfoundation.org,
hpa@...or.com,
james.morse@....com,
jpoimboe@...nel.org,
kai.huang@...el.com,
kan.liang@...ux.intel.com,
linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org,
maciej.wieczor-retman@...el.com,
mario.limonciello@....com,
mingo@...hat.com,
paulmck@...nel.org,
pawan.kumar.gupta@...ux.intel.com,
perry.yuan@....com,
peternewman@...gle.com,
reinette.chatre@...el.com,
rostedt@...dmis.org,
seanjc@...gle.com,
sohil.mehta@...el.com,
tglx@...utronix.de,
thomas.lendacky@....com,
thuth@...hat.com,
tony.luck@...el.com,
x86@...nel.org,
xiaoyao.li@...el.com,
xin3.li@...el.com,
xin@...or.com
Subject: [PATCH 4/5] x86/resctrl: Remove 'rdt_mon_features' global variable
rdt_mon_features is used as a bitmask of enabled monitor events. A monitor
event's status is now maintained in mon_evt::enabled with all monitor
events' mon_evt structures found in the filesystem's mon_event_all[] array.
Remove the remaining uses of rdt_mon_features.
Signed-off-by: Tony Luck <tony.luck@...el.com>
---
arch/x86/include/asm/resctrl.h | 1 -
arch/x86/kernel/cpu/resctrl/core.c | 9 +++++----
arch/x86/kernel/cpu/resctrl/monitor.c | 5 -----
3 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h
index b1dd5d6b87db..575f8408a9e7 100644
--- a/arch/x86/include/asm/resctrl.h
+++ b/arch/x86/include/asm/resctrl.h
@@ -44,7 +44,6 @@ DECLARE_PER_CPU(struct resctrl_pqr_state, pqr_state);
extern bool rdt_alloc_capable;
extern bool rdt_mon_capable;
-extern unsigned int rdt_mon_features;
DECLARE_STATIC_KEY_FALSE(rdt_enable_key);
DECLARE_STATIC_KEY_FALSE(rdt_alloc_enable_key);
diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
index 1a319ce9328c..5d14f9a14eda 100644
--- a/arch/x86/kernel/cpu/resctrl/core.c
+++ b/arch/x86/kernel/cpu/resctrl/core.c
@@ -863,21 +863,22 @@ static __init bool get_rdt_alloc_resources(void)
static __init bool get_rdt_mon_resources(void)
{
struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;
+ bool ret = false;
if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC)) {
resctrl_enable_mon_event(QOS_L3_OCCUP_EVENT_ID);
- rdt_mon_features |= (1 << QOS_L3_OCCUP_EVENT_ID);
+ ret = true;
}
if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) {
resctrl_enable_mon_event(QOS_L3_MBM_TOTAL_EVENT_ID);
- rdt_mon_features |= (1 << QOS_L3_MBM_TOTAL_EVENT_ID);
+ ret = true;
}
if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL)) {
resctrl_enable_mon_event(QOS_L3_MBM_LOCAL_EVENT_ID);
- rdt_mon_features |= (1 << QOS_L3_MBM_LOCAL_EVENT_ID);
+ ret = true;
}
- if (!rdt_mon_features)
+ if (!ret)
return false;
return !rdt_get_mon_l3_config(r);
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index 61d38517e2bf..07f8ab097cbe 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -31,11 +31,6 @@
*/
bool rdt_mon_capable;
-/*
- * Global to indicate which monitoring events are enabled.
- */
-unsigned int rdt_mon_features;
-
#define CF(cf) ((unsigned long)(1048576 * (cf) + 0.5))
static int snc_nodes_per_l3_cache = 1;
--
2.49.0
Powered by blists - more mailing lists