All of lore.kernel.org
 help / color / mirror / Atom feed
From: Reinette Chatre <reinette.chatre@intel.com>
To: Tony Luck <tony.luck@intel.com>, 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>
Cc: Christoph Hellwig <hch@infradead.org>,
	<linux-kernel@vger.kernel.org>, <patches@lists.linux.dev>
Subject: Re: [PATCH v10 06/17] x86/resctrl: Drop global 'rdt_mon_capable' flag
Date: Mon, 17 Aug 2026 17:54:04 -0700	[thread overview]
Message-ID: <99d9098b-3a6c-49d9-997d-bb7e6545a158@intel.com> (raw)
In-Reply-To: <20260729172752.11561-7-tony.luck@intel.com>

Hi Tony,

On 7/29/26 10:27 AM, Tony Luck wrote:
> File system code calls resctrl_arch_mon_capable() to determine if the
> system supports any monitoring features.
> 
> x86 architecture code sets a global flag to support implementation of
> resctrl_arch_mon_capable() but the upcoming change to enumerate AET
> (Application Energy Telemetry) features on each mount introduces a new
> corner case.
> 
> Specifically when AET is the only monitoring feature, loading and
> unloading the pmt_telemetry module between resctrl mounts may result
> in monitoring support enabled on some mounts, but not on others.
> 
> Replace the global flag with a scan of resources to check if any are
> marked mon_capable.
> 
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> ---
> v10:
> 	Move declaration of resctrl_arch_mon_capable() to <linux/resctrl.h>
> 	and provide kerneldoc comment on usage.
> 
>  include/linux/arm_mpam.h              |  1 -
>  include/linux/resctrl.h               | 17 +++++++++++++++++
>  arch/x86/include/asm/resctrl.h        |  6 ------
>  arch/x86/kernel/cpu/resctrl/core.c    | 19 ++++++++++++++++---
>  arch/x86/kernel/cpu/resctrl/monitor.c |  6 ------

Note that this patch changes MPAM, resctrl fs, as well as x86 while
the subject prefix just mentions x86.

>  5 files changed, 33 insertions(+), 16 deletions(-)
> 
> diff --git a/include/linux/arm_mpam.h b/include/linux/arm_mpam.h
> index f92a36187a52..b6e8683657c0 100644
> --- a/include/linux/arm_mpam.h
> +++ b/include/linux/arm_mpam.h
> @@ -51,7 +51,6 @@ static inline int mpam_ris_create(struct mpam_msc *msc, u8 ris_idx,
>  #endif
>  
>  bool resctrl_arch_alloc_capable(void);
> -bool resctrl_arch_mon_capable(void);
>  
>  void resctrl_arch_set_cpu_default_closid(int cpu, u32 closid);
>  void resctrl_arch_set_closid_rmid(struct task_struct *tsk, u32 closid, u32 rmid);
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> index a184500745f8..59ddedb27539 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -419,6 +419,23 @@ u32 resctrl_arch_get_num_closid(struct rdt_resource *r);
>  u32 resctrl_arch_system_num_rmid_idx(void);
>  int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid);
>  
> +/**
> + * resctrl_arch_mon_capable() - Report whether monitor events are enabled
> + *
> + * Some monitor events may be enumerated or implemented in loadable modules.
> + * This means that available events may vary from one mount of the resctrl
> + * file system to another. If modules are not loaded at mount time there
> + * may be no monitor events at all.

I do not see how this is relevant to the API documentation. Please just focus on
the contract between resctrl fs and architecture. Looks like this is information that
can be provided in the x86 implementation of this callback. It is not guidance to
all architectures.

> + *
> + * File system code may call it during mount after architecture enumeration is

There cannot be any "may". This needs to be a contract where it is clear to
architecture when resctrl fs can be expected to call this and what the expected
return should be. For example, resctrl fs calls this during a mount cycle and
architecture has to provide the same value during the entire mount cycle.

> + * complete. Calls during domain add/remove operations must check resctrl_mounted

Not possible. resctrl_mounted is internal to resctrl fs so architecture has no
insight into this. The guidance to "must check" is not useful, as in, what should
be checked for? That it is mounted, that it is not mounted? How does domain
add/remove apply here?

> + * before calling.
> + *
> + * Return:
> + * true if any monitor events are enabled in the current mount cycle.
> + */
> +bool resctrl_arch_mon_capable(void);
> +
>  /**
>   * resctrl_enable_mon_event() - Enable monitoring event
>   * @eventid:	ID of the event
Reinette


  reply	other threads:[~2026-08-18  0:54 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-29 17:27 [PATCH v10 00/17] Allow AET to use PMT as loadable module Tony Luck
2026-07-29 17:27 ` [PATCH v10 01/17] x86/resctrl: Fix enumeration of number of supported RMIDs Tony Luck
2026-08-13 23:55   ` Reinette Chatre
2026-08-14 16:28     ` Luck, Tony
2026-07-29 17:27 ` [PATCH v10 02/17] x86/resctrl: Require 64-bit x86 for resctrl support Tony Luck
2026-08-18  0:50   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 03/17] fs/resctrl: Remove redundant calls to resctrl_arch_mon_capable() Tony Luck
2026-08-18  0:50   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 04/17] x86/resctrl: Honor rdt=perf option to force enable AET perf events Tony Luck
2026-08-18  0:51   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 05/17] fs/resctrl: Add interface to disable a monitor event Tony Luck
2026-08-18  0:51   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 06/17] x86/resctrl: Drop global 'rdt_mon_capable' flag Tony Luck
2026-08-18  0:54   ` Reinette Chatre [this message]
2026-07-29 17:27 ` [PATCH v10 07/17] arm,x86,fs/resctrl: Handle change in number of RMIDs on each mount Tony Luck
2026-08-18  0:56   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 08/17] x86/resctrl: Enforce system RMID limit on AET event groups Tony Luck
2026-08-18  0:58   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 09/17] x86/resctrl: Add PMT registration API for AET enumeration callbacks Tony Luck
2026-08-18  0:59   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 10/17] platform/x86/intel/pmt: Register enumeration functions with resctrl Tony Luck
2026-07-29 17:27 ` [PATCH v10 11/17] arm,x86/resctrl: Resolve INTEL_PMT_TELEMETRY symbols at runtime Tony Luck
2026-08-18  0:59   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 12/17] x86/resctrl: Prepare to handle nested mount requests Tony Luck
2026-08-18  1:01   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 13/17] fs/resctrl: Call architecture hooks for every mount/unmount Tony Luck
2026-08-18  1:02   ` Reinette Chatre
2026-07-29 17:27 ` [PATCH v10 14/17] x86/resctrl: Export interface to report telemetry unbind/remove Tony Luck
2026-07-29 17:27 ` [PATCH v10 15/17] platform/x86/intel/pmt: Inform resctrl when MMIO maps are being removed Tony Luck
2026-07-29 17:27 ` [PATCH v10 16/17] x86/resctrl: Simplify Kconfig options for resctrl Tony Luck
2026-07-29 17:27 ` [PATCH v10 17/17] Documentation/filesystems/resctrl: Document telemetry mount timing caveat Tony Luck
2026-07-29 20:11 ` [PATCH v10 00/17] Allow AET to use PMT as loadable module 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=99d9098b-3a6c-49d9-997d-bb7e6545a158@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 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.