From: Reinette Chatre <reinette.chatre@intel.com>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Fenghua Yu <fenghuay@nvidia.com>,
Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>,
Peter Newman <peternewman@google.com>,
James Morse <james.morse@arm.com>,
Babu Moger <babu.moger@amd.com>,
"Drew Fustini" <dfustini@baylibre.com>,
Dave Martin <Dave.Martin@arm.com>, Chen Yu <yu.c.chen@intel.com>,
David E Box <david.e.box@intel.com>, <x86@kernel.org>,
Christoph Hellwig <hch@infradead.org>,
<linux-kernel@vger.kernel.org>, <patches@lists.linux.dev>
Subject: Re: [PATCH v7 06/14] fs/resctrl: Add interface to disable a monitor event
Date: Tue, 9 Jun 2026 16:02:55 -0700 [thread overview]
Message-ID: <7bbc2796-0f33-433d-a949-d95fa1db6401@intel.com> (raw)
In-Reply-To: <aihLqhlxS7l1y3jO@agluck-desk3>
Hi Tony,
On 6/9/26 10:21 AM, Luck, Tony wrote:
> On Mon, Jun 08, 2026 at 04:18:23PM -0700, Reinette Chatre wrote:
>> Hi Tony,
>>
>> On 6/1/26 12:56 PM, Tony Luck wrote:
>>> In preparation for re-running AET enumeration on every mount, AET code must be
>>> able to disable events on unmount so the next mount starts from a clean slate.
>>>
>>> Add a file system interface for architecture to clear the enabled flag for
>>> a given event.
>>
>> This just verbatim describes what the patch does. It would be helpful to describe
>> how the flag is used by resctrl to support the first paragraph's implicit claim
>> that the enabled flag's value is not relevant when resctrl is unmounted.
>
> Revised commit:
> ---
> Subject: fs/resctrl: Add interface to disable a monitor event
>
> In preparation for re-running AET enumeration on every mount, AET code must be
> able to disable events on unmount so the next mount starts from a clean slate.
>
> Add a file system interface for architecture to reset architecture
> controlled fields of the given event. mon_event::enabled is only used
> during mount and at run time to check which events to include in file
> system objects. It is not used during unmount, so it is safe to clear
> it as part of the unmount flow.
This introduces a general resctrl fs interface and makes some powerful
generalized statements in support of the interface but these statements
are only true for the AET events. Surely mon_event::enabled is used
during unmount since domains can come and go while resctrl is not mounted
and as the new comments explain there is significant state coordination that
needs to be done between these event callbacks and hotplug handlers.
Similarly, the resctrl LLC occupancy worker keeps running while resctrl
is unmounted and depends on LLC occupancy event being enabled.
Creating a resctrl fs generalized interface but motivating it with a
highly customized lens of usage without making that clear in the changelog
but instead just making grand claims of how safe this is seems underhanded.
>
> Add kerneldoc comments to describe limitations on when events may be enabled
> or disabled.
> ---
>
>>
>>> diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
>>> index 9fd901c78dc6..327e7a863614 100644
>>> --- a/fs/resctrl/monitor.c
>>> +++ b/fs/resctrl/monitor.c
>>> @@ -1012,6 +1012,18 @@ bool resctrl_enable_mon_event(enum resctrl_event_id eventid, bool any_cpu,
>>> return true;
>>> }
>>>
>>> +void resctrl_disable_mon_event(enum resctrl_event_id eventid)
>>> +{
>>> + if (WARN_ON_ONCE(eventid < QOS_FIRST_EVENT || eventid >= QOS_NUM_EVENTS))
>>> + return;
>>> + if (!mon_event_all[eventid].enabled) {
>>> + pr_warn("Repeat disable for event %d\n", eventid);
>>> + return;
>>> + }
>>> +
>>> + mon_event_all[eventid].enabled = false;
>>> +}
>>
>> It seems reasonable for architecture to expect that "disable" of event undoes all
>> settings from the earlier "enable" of event. The new function only sets the "enabled"
>> flag to false though. This is potentially confusing since it leaves the event with
>> some lingering state, some of which is a pointer to state that an architecture may
>> be reasonable to remove after disabling this event leaving a dangling pointer.
>
> Ok. I'll add:
>
> + mon_event_all[eventid].any_cpu = false;
> + mon_event_all[eventid].binary_bits = 0;
> + mon_event_all[eventid].arch_priv = NULL;
Thank you.
Reinette
next prev parent reply other threads:[~2026-06-09 23:03 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 19:56 [PATCH v7 00/14] Allow AET to use PMT as loadable module Tony Luck
2026-06-01 19:56 ` [PATCH v7 01/14] fs/resctrl: Move functions to avoid forward references in subsequent fixes Tony Luck
2026-06-01 19:56 ` [PATCH v7 02/14] fs/resctrl: Free mon_data structures on rdt_get_tree() failure Tony Luck
2026-06-01 19:56 ` [PATCH v7 03/14] fs/resctrl: Fix use-after-free during unmount Tony Luck
2026-06-01 19:56 ` [PATCH v7 04/14] fs/resctrl: Fix deadlock for errors during mount Tony Luck
2026-06-01 19:56 ` [PATCH v7 05/14] x86/resctrl: Stop setting event_group::force_off on RMID shortage Tony Luck
2026-06-08 23:16 ` Reinette Chatre
2026-06-09 16:51 ` Luck, Tony
2026-06-09 23:02 ` Reinette Chatre
2026-06-10 20:01 ` Luck, Tony
2026-06-01 19:56 ` [PATCH v7 06/14] fs/resctrl: Add interface to disable a monitor event Tony Luck
2026-06-08 23:18 ` Reinette Chatre
2026-06-09 17:21 ` Luck, Tony
2026-06-09 23:02 ` Reinette Chatre [this message]
2026-06-10 20:56 ` Luck, Tony
2026-06-10 22:26 ` Reinette Chatre
2026-06-10 23:19 ` Luck, Tony
2026-06-11 21:22 ` Reinette Chatre
2026-06-01 19:56 ` [PATCH v7 07/14] x86/resctrl: Maintain a count of enabled monitor features Tony Luck
2026-06-08 23:18 ` Reinette Chatre
2026-06-09 18:46 ` Luck, Tony
2026-06-09 23:03 ` Reinette Chatre
2026-06-11 17:27 ` Luck, Tony
2026-06-01 19:56 ` [PATCH v7 08/14] fs,x86,mpam/resctrl: Handle change in number of RMIDs on each mount Tony Luck
2026-06-08 23:21 ` Reinette Chatre
2026-06-09 21:58 ` Luck, Tony
2026-06-09 23:35 ` Reinette Chatre
2026-06-11 17:40 ` Luck, Tony
2026-06-01 19:56 ` [PATCH v7 09/14] x86/resctrl: Add PMT registration API for AET enumeration callbacks Tony Luck
2026-06-08 23:21 ` Reinette Chatre
2026-06-01 19:56 ` [PATCH v7 10/14] platform/x86/intel/pmt: Register enumeration functions with resctrl Tony Luck
2026-06-08 23:22 ` Reinette Chatre
2026-06-09 22:11 ` Luck, Tony
2026-06-18 21:15 ` Luck, Tony
2026-06-22 15:46 ` Reinette Chatre
2026-06-22 23:00 ` Luck, Tony
2026-06-23 15:45 ` Reinette Chatre
2026-06-23 18:24 ` Luck, Tony
2026-06-01 19:56 ` [PATCH v7 11/14] mpam,x86/resctrl: Resolve INTEL_PMT_TELEMETRY symbols at runtime Tony Luck
2026-06-08 23:25 ` Reinette Chatre
2026-06-10 0:08 ` Luck, Tony
2026-06-10 15:27 ` Reinette Chatre
2026-06-10 15:49 ` Luck, Tony
2026-06-10 16:21 ` Reinette Chatre
2026-06-10 16:34 ` Luck, Tony
2026-06-10 16:46 ` Reinette Chatre
2026-06-10 17:24 ` Luck, Tony
2026-06-10 17:58 ` Reinette Chatre
2026-06-10 22:09 ` Luck, Tony
2026-06-11 18:01 ` Luck, Tony
2026-06-11 21:22 ` Reinette Chatre
2026-06-11 22:27 ` Luck, Tony
2026-06-12 18:04 ` Luck, Tony
2026-06-01 19:56 ` [PATCH v7 12/14] fs/resctrl: Call architecture hooks for every mount/unmount Tony Luck
2026-06-08 23:26 ` Reinette Chatre
2026-06-10 16:16 ` Luck, Tony
2026-06-01 19:56 ` [PATCH v7 13/14] x86/resctrl: Simplify Kconfig options for resctrl Tony Luck
2026-06-01 19:56 ` [PATCH v7 14/14] Documentation/filesystems/resctrl: Add footnote for telemetry fstab mount caveat Tony Luck
2026-06-08 23:26 ` Reinette Chatre
2026-06-10 16:19 ` Luck, Tony
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=7bbc2796-0f33-433d-a949-d95fa1db6401@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=david.e.box@intel.com \
--cc=dfustini@baylibre.com \
--cc=fenghuay@nvidia.com \
--cc=hch@infradead.org \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.wieczor-retman@intel.com \
--cc=patches@lists.linux.dev \
--cc=peternewman@google.com \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=yu.c.chen@intel.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
Powered by JetHome