From: Babu Moger <babu.moger@amd.com>
To: <corbet@lwn.net>, <reinette.chatre@intel.com>,
<tglx@linutronix.de>, <mingo@redhat.com>, <bp@alien8.de>
Cc: <fenghua.yu@intel.com>, <dave.hansen@linux.intel.com>,
<x86@kernel.org>, <hpa@zytor.com>, <paulmck@kernel.org>,
<akpm@linux-foundation.org>, <quic_neeraju@quicinc.com>,
<rdunlap@infradead.org>, <damien.lemoal@opensource.wdc.com>,
<songmuchun@bytedance.com>, <peterz@infradead.org>,
<jpoimboe@kernel.org>, <pbonzini@redhat.com>,
<babu.moger@amd.com>, <chang.seok.bae@intel.com>,
<pawan.kumar.gupta@linux.intel.com>, <jmattson@google.com>,
<daniel.sneddon@linux.intel.com>, <sandipan.das@amd.com>,
<tony.luck@intel.com>, <james.morse@arm.com>,
<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<bagasdotme@gmail.com>, <eranian@google.com>,
<christophe.leroy@csgroup.eu>, <jarkko@kernel.org>,
<adrian.hunter@intel.com>, <quic_jiles@quicinc.com>,
<peternewman@google.com>
Subject: [PATCH v10 08/13] x86/resctrl: Support monitor configuration
Date: Thu, 22 Dec 2022 17:31:22 -0600 [thread overview]
Message-ID: <20221222233127.910538-9-babu.moger@amd.com> (raw)
In-Reply-To: <20221222233127.910538-1-babu.moger@amd.com>
Add a new field in struct mon_evt to support Bandwidth Monitoring Event
Configuration(BMEC) and also update the "mon_features" display.
The resctrl file "mon_features" will display the supported events
and files that can be used to configure those events if monitor
configuration is supported.
Before the change.
$cat /sys/fs/resctrl/info/L3_MON/mon_features
llc_occupancy
mbm_total_bytes
mbm_local_bytes
After the change when BMEC is supported.
$cat /sys/fs/resctrl/info/L3_MON/mon_features
llc_occupancy
mbm_total_bytes
mbm_total_bytes_config
mbm_local_bytes
mbm_local_bytes_config
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Babu Moger <babu.moger@amd.com>
---
arch/x86/kernel/cpu/resctrl/internal.h | 2 ++
arch/x86/kernel/cpu/resctrl/monitor.c | 7 +++++++
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 5 ++++-
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
index f16b8bc5448c..0605b04f1b7a 100644
--- a/arch/x86/kernel/cpu/resctrl/internal.h
+++ b/arch/x86/kernel/cpu/resctrl/internal.h
@@ -52,11 +52,13 @@ DECLARE_STATIC_KEY_FALSE(rdt_mon_enable_key);
* struct mon_evt - Entry in the event list of a resource
* @evtid: event id
* @name: name of the event
+ * @configurable: true if the event is configurable
* @list: entry in &rdt_resource->evt_list
*/
struct mon_evt {
enum resctrl_event_id evtid;
char *name;
+ bool configurable;
struct list_head list;
};
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index e33e8d8bd796..b39e0eca1879 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -783,6 +783,13 @@ int __init rdt_get_mon_l3_config(struct rdt_resource *r)
if (ret)
return ret;
+ if (rdt_cpu_has(X86_FEATURE_BMEC)) {
+ if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL))
+ mbm_total_event.configurable = true;
+ if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL))
+ mbm_local_event.configurable = true;
+ }
+
l3_mon_evt_init(r);
r->mon_capable = true;
diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
index aa469d708991..f34c70c7a791 100644
--- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
+++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
@@ -996,8 +996,11 @@ static int rdt_mon_features_show(struct kernfs_open_file *of,
struct rdt_resource *r = of->kn->parent->priv;
struct mon_evt *mevt;
- list_for_each_entry(mevt, &r->evt_list, list)
+ list_for_each_entry(mevt, &r->evt_list, list) {
seq_printf(seq, "%s\n", mevt->name);
+ if (mevt->configurable)
+ seq_printf(seq, "%s_config\n", mevt->name);
+ }
return 0;
}
--
2.34.1
next prev parent reply other threads:[~2022-12-22 23:32 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-22 23:31 [PATCH v10 00/13] x86/resctrl: Support for AMD QoS new features Babu Moger
2022-12-22 23:31 ` [PATCH v10 01/13] x86/resctrl: Replace smp_call_function_many() with on_each_cpu_mask() Babu Moger
2023-01-05 0:28 ` Reinette Chatre
2023-01-05 15:48 ` Moger, Babu
2022-12-22 23:31 ` [PATCH v10 02/13] x86/cpufeatures: Add Slow Memory Bandwidth Allocation feature flag Babu Moger
2022-12-22 23:31 ` [PATCH v10 03/13] x86/resctrl: Add a new resource type RDT_RESOURCE_SMBA Babu Moger
2022-12-22 23:31 ` [PATCH v10 04/13] x86/cpufeatures: Add Bandwidth Monitoring Event Configuration feature flag Babu Moger
2022-12-22 23:31 ` [PATCH v10 05/13] x86/resctrl: Include new features in command line options Babu Moger
2022-12-22 23:31 ` [PATCH v10 06/13] x86/resctrl: Detect and configure Slow Memory Bandwidth Allocation Babu Moger
2022-12-22 23:31 ` [PATCH v10 07/13] x86/resctrl: Add __init attribute to rdt_get_mon_l3_config() Babu Moger
2023-01-05 0:28 ` Reinette Chatre
2023-01-05 15:48 ` Moger, Babu
2022-12-22 23:31 ` Babu Moger [this message]
2022-12-22 23:31 ` [PATCH v10 09/13] x86/resctrl: Add interface to read mbm_total_bytes_config Babu Moger
2023-01-05 0:29 ` Reinette Chatre
2023-01-05 15:49 ` Moger, Babu
2022-12-22 23:31 ` [PATCH v10 10/13] x86/resctrl: Add interface to read mbm_local_bytes_config Babu Moger
2022-12-22 23:31 ` [PATCH v10 11/13] x86/resctrl: Add interface to write mbm_total_bytes_config Babu Moger
2023-01-05 0:29 ` Reinette Chatre
2023-01-05 16:04 ` Moger, Babu
2023-01-05 17:49 ` Reinette Chatre
2023-01-05 19:59 ` Moger, Babu
2022-12-22 23:31 ` [PATCH v10 12/13] x86/resctrl: Add interface to write mbm_local_bytes_config Babu Moger
2022-12-22 23:31 ` [PATCH v10 13/13] Documentation/x86: Update resctrl.rst for new features Babu Moger
2023-01-05 0:30 ` Reinette Chatre
2023-01-05 16:06 ` Moger, Babu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221222233127.910538-9-babu.moger@amd.com \
--to=babu.moger@amd.com \
--cc=adrian.hunter@intel.com \
--cc=akpm@linux-foundation.org \
--cc=bagasdotme@gmail.com \
--cc=bp@alien8.de \
--cc=chang.seok.bae@intel.com \
--cc=christophe.leroy@csgroup.eu \
--cc=corbet@lwn.net \
--cc=damien.lemoal@opensource.wdc.com \
--cc=daniel.sneddon@linux.intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=eranian@google.com \
--cc=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=jarkko@kernel.org \
--cc=jmattson@google.com \
--cc=jpoimboe@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=pbonzini@redhat.com \
--cc=peternewman@google.com \
--cc=peterz@infradead.org \
--cc=quic_jiles@quicinc.com \
--cc=quic_neeraju@quicinc.com \
--cc=rdunlap@infradead.org \
--cc=reinette.chatre@intel.com \
--cc=sandipan.das@amd.com \
--cc=songmuchun@bytedance.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.