From: Reinette Chatre <reinette.chatre@intel.com>
To: <babu.moger@amd.com>, <corbet@lwn.net>, <tony.luck@intel.com>,
<tglx@linutronix.de>, <mingo@redhat.com>, <bp@alien8.de>,
<dave.hansen@linux.intel.com>
Cc: <Dave.Martin@arm.com>, <james.morse@arm.com>, <x86@kernel.org>,
<hpa@zytor.com>, <akpm@linux-foundation.org>,
<rostedt@goodmis.org>, <paulmck@kernel.org>,
<pawan.kumar.gupta@linux.intel.com>, <kees@kernel.org>,
<arnd@arndb.de>, <fvdl@google.com>, <seanjc@google.com>,
<thomas.lendacky@amd.com>, <yosry.ahmed@linux.dev>,
<xin@zytor.com>, <sohil.mehta@intel.com>, <kai.huang@intel.com>,
<xiaoyao.li@intel.com>, <peterz@infradead.org>,
<mario.limonciello@amd.com>, <xin3.li@intel.com>,
<perry.yuan@amd.com>, <chang.seok.bae@intel.com>,
<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<peternewman@google.com>, <eranian@google.com>,
<gautham.shenoy@amd.com>
Subject: Re: [PATCH v17 25/33] fs/resctrl: Provide interface to update the event configurations
Date: Wed, 3 Sep 2025 13:52:51 -0700 [thread overview]
Message-ID: <8524e71b-2261-42e7-a4a7-648f9e7d7240@intel.com> (raw)
In-Reply-To: <ec5e1f6d-f662-4932-81a4-dc917c6afac9@amd.com>
Hi Babu,
On 9/3/25 11:32 AM, Moger, Babu wrote:
> Hi Reinette,
>
> On 9/3/25 12:55, Reinette Chatre wrote:
>> Hi Babu,
>>
>> On 9/3/25 10:38 AM, Moger, Babu wrote:
>>> On 9/2/25 21:41, Reinette Chatre wrote:
>>>> On 8/14/25 7:25 PM, Babu Moger wrote:
>>
>>>>> +
>>>>> +ssize_t event_filter_write(struct kernfs_open_file *of, char *buf, size_t nbytes,
>>>>> + loff_t off)
>>>>> +{
>>>>> + struct mon_evt *mevt = rdt_kn_parent_priv(of->kn);
>>>>> + struct rdt_resource *r;
>>>>> + u32 evt_cfg = 0;
>>>>> + int ret = 0;
>>>>> +
>>>>> + /* Valid input requires a trailing newline */
>>>>> + if (nbytes == 0 || buf[nbytes - 1] != '\n')
>>>>> + return -EINVAL;
>>>>> +
>>>>> + buf[nbytes - 1] = '\0';
>>>>> +
>>>>> + cpus_read_lock();
>>>>> + mutex_lock(&rdtgroup_mutex);
>>>>> +
>>>>> + rdt_last_cmd_clear();
>>>>> +
>>>>> + r = resctrl_arch_get_resource(mevt->rid);
>>>>> + if (!resctrl_arch_mbm_cntr_assign_enabled(r)) {
>>>>> + rdt_last_cmd_puts("mbm_event counter assignment mode is not enabled\n");
>>>>> + ret = -EINVAL;
>>>>> + goto out_unlock;
>>>>> + }
>>>>> +
>>>>> + ret = resctrl_parse_mem_transactions(buf, &evt_cfg);
>>>>> + if (!ret && mevt->evt_cfg != evt_cfg) {
>>>>
>>>> ... is evt_cfg of 0 (a) a valid value (that will not cause hardware to fault) and
>>>> (b) a reasonable value to allow?
>>>>
>>>
>>> The value evt_cfg = 0 is valid and permitted for both ABMC and BMEC. I
>>> have confirmed here through verification and testing. In that case, the
>>> event counter will not be monitoring anything.
>>
>> Thank you for checking.
>>
>> I do not know what a use case for this would be but I also do not see why kernel
>> should prevent user space from doing this. Looks like event_filter_show() will then
>> just print a '\n' that is expected. Are counters expected to always return 0 in this
>> case or will they return an error? I am not clear on what qualifies as "invalid counter
>> configuration" for ABMC that results in RMID_VAL_ERROR.
>
> The event counters return 0 in this case. I would not think this as an
> invalid event configuration.
>
> One option is to add a text in last_cmd_status from event_filter_show().
>
> rdt_last_cmd_printf("Event %s is not configured to monitor any memory
> transactions\n", mevt->name);
event_filter_show() does not return an error in this case so a user may not
check last_cmd_status since the doc specifies that "If the command was successful,
it will read as "ok"." Since the write() succeeded we should not fail the associated
show() to prompt the user to check last_cmd_status though.
Even so, an additional message does not seem necessary to me because as I understand
event_filter_show() returns an empty (just a '\n') file that I think
already reflects that no memory transactions are configured. It remains an awkward
use case to me but from what you stated this is valid for the hardware, it is what the
user requested, and the user can use interface to confirm the state. It does not seem
like changes are needed for this scenario.
Reinette
next prev parent reply other threads:[~2025-09-03 20:52 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-15 2:25 [PATCH v17 00/33] x86,fs/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-08-15 2:25 ` [PATCH v17 01/33] x86,fs/resctrl: Consolidate monitor event descriptions Babu Moger
2025-08-15 2:25 ` [PATCH v17 02/33] x86,fs/resctrl: Replace architecture event enabled checks Babu Moger
2025-08-15 2:25 ` [PATCH v17 03/33] x86/resctrl: Remove 'rdt_mon_features' global variable Babu Moger
2025-08-15 2:25 ` [PATCH v17 04/33] x86,fs/resctrl: Prepare for more monitor events Babu Moger
2025-08-15 2:25 ` [PATCH v17 05/33] x86/cpufeatures: Add support for Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-09-04 17:21 ` Moger, Babu
2025-09-04 17:35 ` Reinette Chatre
2025-09-04 18:02 ` Moger, Babu
2025-08-15 2:25 ` [PATCH v17 06/33] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2025-08-15 2:25 ` [PATCH v17 07/33] x86,fs/resctrl: Consolidate monitoring related data from rdt_resource Babu Moger
2025-08-15 2:25 ` [PATCH v17 08/33] x86,fs/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2025-09-03 2:29 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 09/33] x86/resctrl: Add support to enable/disable AMD ABMC feature Babu Moger
2025-08-15 2:25 ` [PATCH v17 10/33] fs/resctrl: Introduce the interface to display monitoring modes Babu Moger
2025-09-03 2:30 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 11/33] fs/resctrl: Add resctrl file to display number of assignable counters Babu Moger
2025-09-03 2:30 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 12/33] fs/resctrl: Introduce mbm_cntr_cfg to track assignable counters per domain Babu Moger
2025-08-15 2:25 ` [PATCH v17 13/33] fs/resctrl: Introduce interface to display number of free MBM counters Babu Moger
2025-09-03 2:31 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 14/33] x86/resctrl: Add data structures and definitions for ABMC assignment Babu Moger
2025-08-15 2:25 ` [PATCH v17 15/33] fs/resctrl: Introduce event configuration field in struct mon_evt Babu Moger
2025-09-03 2:32 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 16/33] x86,fs/resctrl: Implement resctrl_arch_config_cntr() to assign a counter with ABMC Babu Moger
2025-08-15 2:25 ` [PATCH v17 17/33] fs/resctrl: Add the functionality to assign MBM events Babu Moger
2025-09-03 2:32 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 18/33] fs/resctrl: Add the functionality to unassign " Babu Moger
2025-09-03 2:33 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 19/33] fs/resctrl: Pass struct rdtgroup instead of individual members Babu Moger
2025-08-15 2:25 ` [PATCH v17 20/33] fs/resctrl: Introduce counter ID read, reset calls in mbm_event mode Babu Moger
2025-09-03 2:33 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 21/33] x86/resctrl: Refactor resctrl_arch_rmid_read() Babu Moger
2025-08-15 2:25 ` [PATCH v17 22/33] x86/resctrl: Implement resctrl_arch_reset_cntr() and resctrl_arch_cntr_read() Babu Moger
2025-09-03 2:34 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 23/33] fs/resctrl: Support counter read/reset with mbm_event assignment mode Babu Moger
2025-09-03 2:34 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 24/33] fs/resctrl: Add event configuration directory under info/L3_MON/ Babu Moger
2025-09-03 2:35 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 25/33] fs/resctrl: Provide interface to update the event configurations Babu Moger
2025-09-03 2:41 ` Reinette Chatre
2025-09-03 17:38 ` Moger, Babu
2025-09-03 17:55 ` Reinette Chatre
2025-09-03 18:32 ` Moger, Babu
2025-09-03 20:52 ` Reinette Chatre [this message]
2025-09-03 22:03 ` Moger, Babu
2025-08-15 2:25 ` [PATCH v17 26/33] fs/resctrl: Introduce mbm_assign_on_mkdir to enable assignments on mkdir Babu Moger
2025-09-03 2:44 ` Reinette Chatre
2025-09-03 18:53 ` Moger, Babu
2025-08-15 2:25 ` [PATCH v17 27/33] fs/resctrl: Auto assign counters on mkdir and clean up on group removal Babu Moger
2025-09-03 2:45 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 28/33] fs/resctrl: Introduce mbm_L3_assignments to list assignments in a group Babu Moger
2025-09-03 2:59 ` Reinette Chatre
2025-09-03 19:16 ` Moger, Babu
2025-08-15 2:25 ` [PATCH v17 29/33] fs/resctrl: Introduce the interface to modify " Babu Moger
2025-09-03 3:00 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 30/33] fs/resctrl: Disable BMEC event configuration when mbm_event mode is enabled Babu Moger
2025-09-03 3:01 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 31/33] fs/resctrl: Introduce the interface to switch between monitor modes Babu Moger
2025-09-03 3:11 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 32/33] x86/resctrl: Configure mbm_event mode if supported Babu Moger
2025-09-03 3:13 ` Reinette Chatre
2025-08-15 2:25 ` [PATCH v17 33/33] MAINTAINERS: resctrl: add myself as reviewer Babu Moger
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=8524e71b-2261-42e7-a4a7-648f9e7d7240@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=chang.seok.bae@intel.com \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=eranian@google.com \
--cc=fvdl@google.com \
--cc=gautham.shenoy@amd.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=kai.huang@intel.com \
--cc=kees@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=perry.yuan@amd.com \
--cc=peternewman@google.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=seanjc@google.com \
--cc=sohil.mehta@intel.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=xiaoyao.li@intel.com \
--cc=xin3.li@intel.com \
--cc=xin@zytor.com \
--cc=yosry.ahmed@linux.dev \
/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).