From: Reinette Chatre <reinette.chatre@intel.com>
To: Babu Moger <babu.moger@amd.com>, <corbet@lwn.net>,
<fenghua.yu@intel.com>, <tglx@linutronix.de>, <mingo@redhat.com>,
<bp@alien8.de>, <dave.hansen@linux.intel.com>
Cc: <x86@kernel.org>, <hpa@zytor.com>, <paulmck@kernel.org>,
<rdunlap@infradead.org>, <tj@kernel.org>, <peterz@infradead.org>,
<yanjiewtw@gmail.com>, <kim.phillips@amd.com>,
<lukas.bulwahn@gmail.com>, <seanjc@google.com>,
<jmattson@google.com>, <leitao@debian.org>, <jpoimboe@kernel.org>,
<rick.p.edgecombe@intel.com>, <kirill.shutemov@linux.intel.com>,
<jithu.joseph@intel.com>, <kai.huang@intel.com>,
<kan.liang@linux.intel.com>, <daniel.sneddon@linux.intel.com>,
<pbonzini@redhat.com>, <sandipan.das@amd.com>,
<ilpo.jarvinen@linux.intel.com>, <peternewman@google.com>,
<maciej.wieczor-retman@intel.com>, <linux-doc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <eranian@google.com>,
<james.morse@arm.com>
Subject: Re: [PATCH v4 08/19] x86/resctrl: Introduce the interface to display monitor mode
Date: Thu, 13 Jun 2024 18:40:49 -0700 [thread overview]
Message-ID: <a453b19b-a909-49a5-9512-ae69c48db6c2@intel.com> (raw)
In-Reply-To: <3b9ef8bc03c1004794a087537c6f2f051760402d.1716552602.git.babu.moger@amd.com>
Hi Babu,
On 5/24/24 5:23 AM, Babu Moger wrote:
> The ABMC feature provides an option to the user to assign a hardware
> counter to an RMID and monitor the bandwidth as long as it is assigned.
> ABMC mode is enabled by default when supported. System can be one mode
> at a time (Legacy monitor mode or ABMC mode).
>
> Provide an interface to display the monitor mode on the system.
> $cat /sys/fs/resctrl/info/L3_MON/mbm_assign
> [abmc]
> legacy
Output is different from cover letter and what this patch implements.
>
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> ---
> v4: Fixed the checks for legacy and abmc mode. Default it ABMC.
>
> v3: New patch to display ABMC capability.
> ---
> Documentation/arch/x86/resctrl.rst | 10 ++++++++++
> arch/x86/kernel/cpu/resctrl/monitor.c | 1 +
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 23 +++++++++++++++++++++++
> 3 files changed, 34 insertions(+)
>
> diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst
> index 7ab8172ef208..ab3cde61a124 100644
> --- a/Documentation/arch/x86/resctrl.rst
> +++ b/Documentation/arch/x86/resctrl.rst
> @@ -261,6 +261,16 @@ with the following files:
> Available when ABMC feature is supported. The number of ABMC counters
> available for configuration.
>
> +"mbm_assign":
This name is not ideal but I am having trouble finding a better one ... I have
seen you use "monitor mode" a couple of times (even in shortlog), so maybe that
could be the start of a more generic name? "mbm_mode"?
> + Available when ABMC feature is supported. Reports the list of assignable
Why not always make this file available? At least it will display that
legacy mode is supported and it gives user space an always present file to query to
determine support.
> + monitoring features supported. The enclosed brackets indicate which
> + feature is enabled.
> + ::
> +
> + cat /sys/fs/resctrl/info/L3_MON/mbm_assign
> + [abmc]
> + mbm_legacy
> +
> "max_threshold_occupancy":
> Read/write file provides the largest value (in
> bytes) at which a previously used LLC_occupancy
> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> index e75a6146068b..b1d002e5e93d 100644
> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
> @@ -1071,6 +1071,7 @@ int __init rdt_get_mon_l3_config(struct rdt_resource *r)
>
> if (rdt_cpu_has(X86_FEATURE_ABMC)) {
> r->abmc_capable = true;
> + resctrl_file_fflags_init("mbm_assign", RFTYPE_MON_INFO);
> /*
> * Query CPUID_Fn80000020_EBX_x05 for number of
> * ABMC counters
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 9148d1234ede..3071bbb7a15e 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -856,6 +856,23 @@ static int rdtgroup_num_cntrs_show(struct kernfs_open_file *of,
> return 0;
> }
>
> +static int rdtgroup_mbm_assign_show(struct kernfs_open_file *of,
> + struct seq_file *s, void *v)
> +{
> + struct rdt_resource *r = of->kn->parent->priv;
> + struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
Please use arch helper to just get abmc state instead of fs code
digging into arch structures.
> +
> + if (hw_res->abmc_enabled) {
> + seq_puts(s, "[abmc]\n");
> + seq_puts(s, "mbm_legacy\n");
> + } else {
> + seq_puts(s, "abmc\n");
> + seq_puts(s, "[mbm_legacy]\n");
> + }
> +
> + return 0;
> +}
> +
> #ifdef CONFIG_PROC_CPU_RESCTRL
>
> /*
> @@ -1913,6 +1930,12 @@ static struct rftype res_common_files[] = {
> .seq_show = mbm_local_bytes_config_show,
> .write = mbm_local_bytes_config_write,
> },
> + {
> + .name = "mbm_assign",
> + .mode = 0444,
> + .kf_ops = &rdtgroup_kf_single_ops,
> + .seq_show = rdtgroup_mbm_assign_show,
> + },
> {
> .name = "cpus",
> .mode = 0644,
Reinette
next prev parent reply other threads:[~2024-06-14 1:41 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-24 12:23 [PATCH v4 00/19] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2024-05-24 12:23 ` [PATCH v4 01/19] x86/resctrl: Add support for " Babu Moger
2024-06-14 0:54 ` Reinette Chatre
2024-06-18 21:02 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 02/19] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2024-05-24 12:23 ` [PATCH v4 03/19] x86/resctrl: Consolidate monitoring related data from rdt_resource Babu Moger
2024-06-14 0:55 ` Reinette Chatre
2024-06-18 21:02 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 04/19] x86/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2024-06-14 0:56 ` Reinette Chatre
2024-06-18 21:03 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 05/19] x86/resctrl: Introduce resctrl_file_fflags_init to initialize fflags Babu Moger
2024-06-14 0:57 ` Reinette Chatre
2024-06-18 21:03 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 06/19] x86/resctrl: Introduce interface to display number of ABMC counters Babu Moger
2024-06-14 0:57 ` Reinette Chatre
2024-06-18 21:04 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 07/19] x86/resctrl: Add support to enable/disable ABMC feature Babu Moger
2024-06-14 0:59 ` Reinette Chatre
2024-06-19 15:37 ` Moger, Babu
2024-06-20 22:02 ` Reinette Chatre
2024-06-21 15:44 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 08/19] x86/resctrl: Introduce the interface to display monitor mode Babu Moger
2024-06-14 1:40 ` Reinette Chatre [this message]
2024-06-19 16:25 ` Moger, Babu
2024-06-20 22:05 ` Reinette Chatre
2024-06-21 15:47 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 09/19] x86/resctrl: Initialize ABMC counters bitmap Babu Moger
2024-06-14 1:42 ` Reinette Chatre
2024-06-19 17:03 ` Moger, Babu
2024-06-20 22:20 ` Reinette Chatre
2024-06-21 16:01 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 10/19] x86/resctrl: Introduce ABMC state for the monitor group Babu Moger
2024-05-24 12:23 ` [PATCH v4 11/19] x86/resctrl: Introduce mbm_total_cfg and mbm_local_cfg Babu Moger
2024-06-14 1:43 ` Reinette Chatre
2024-06-19 18:46 ` Moger, Babu
2024-06-27 18:51 ` Moger, Babu
2024-06-27 20:56 ` Reinette Chatre
2024-06-27 21:26 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 12/19] x86/resctrl: Remove MSR reading of event configuration value Babu Moger
2024-05-24 12:23 ` [PATCH v4 13/19] x86/resctrl: Add data structures for ABMC assignment Babu Moger
2024-06-14 1:44 ` Reinette Chatre
2024-06-19 20:10 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 14/19] x86/resctrl: Add the interface to assign ABMC counter Babu Moger
2024-06-14 1:48 ` Reinette Chatre
2024-06-19 22:38 ` Moger, Babu
2024-06-20 22:50 ` Reinette Chatre
2024-06-21 16:07 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 15/19] x86/resctrl: Add the interface to unassign " Babu Moger
2024-06-14 1:49 ` Reinette Chatre
2024-06-20 13:48 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 16/19] x86/resctrl: Enable ABMC by default on resctrl mount Babu Moger
2024-06-14 1:50 ` Reinette Chatre
2024-06-20 14:46 ` Moger, Babu
2024-06-20 22:49 ` Reinette Chatre
2024-06-21 16:29 ` Moger, Babu
2024-05-24 12:23 ` [PATCH v4 17/19] x86/resctrl: Introduce the interface switch between ABMC and mbm_legacy Babu Moger
2024-06-14 1:51 ` Reinette Chatre
2024-06-20 14:53 ` Moger, Babu
2024-06-21 14:43 ` Markus Elfring
2024-05-24 12:23 ` [PATCH v4 18/19] x86/resctrl: Introduce interface to list monitor states of all the groups Babu Moger
2024-05-24 12:23 ` [PATCH v4 19/19] x86/resctrl: Introduce interface to modify assignment states of " Babu Moger
2024-06-14 0:54 ` [PATCH v4 00/19] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Reinette Chatre
2024-06-18 21:02 ` Moger, Babu
2024-06-20 22:49 ` Reinette Chatre
2024-06-21 16:41 ` 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=a453b19b-a909-49a5-9512-ae69c48db6c2@intel.com \
--to=reinette.chatre@intel.com \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--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=ilpo.jarvinen@linux.intel.com \
--cc=james.morse@arm.com \
--cc=jithu.joseph@intel.com \
--cc=jmattson@google.com \
--cc=jpoimboe@kernel.org \
--cc=kai.huang@intel.com \
--cc=kan.liang@linux.intel.com \
--cc=kim.phillips@amd.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=leitao@debian.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@gmail.com \
--cc=maciej.wieczor-retman@intel.com \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peternewman@google.com \
--cc=peterz@infradead.org \
--cc=rdunlap@infradead.org \
--cc=rick.p.edgecombe@intel.com \
--cc=sandipan.das@amd.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=x86@kernel.org \
--cc=yanjiewtw@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).