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 v11 13/23] x86/resctrl: Handle systems when AET is the only resource
Date: Wed, 9 Sep 2026 21:04:35 -0700 [thread overview]
Message-ID: <5aecb4ee-15cf-4834-b615-4a9f65a213b3@intel.com> (raw)
In-Reply-To: <20260831174421.13921-14-tony.luck@intel.com>
Hi Tony,
On 8/31/26 10:44 AM, Tony Luck wrote:
> On a system with no L3 monitor resources it should still be possible to
> run with just AET.
>
> Update get_rdt_mon_resources() to return true based on whether the
> system supports monitoring rather than on the presence of any of the
> L3 monitor features.
>
> Make rdt_get_tree() handle the case where AET is the only feature, but
> is not enabled for a specific mount.
I think it will be more useful to describe how this scenario is handled than
a mention that it is handled and reviewer needs to look for how in the patch.
Consider something like: "Do not allow mount of resctrl filesystem if AET is
the only feature, but it is not enabled."
Even so, this does not seem accurate to me since it implies that any monitoring
capable system has AET as the only feature, which does not seem the right thing
to infer?
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> ---
> v11:
> Split the AET RMID cap change into separate commit.
> s/Fix get_rdt_mon_resources/Update get_rdt_mon_resources/
> New subject for this patch
>
> arch/x86/kernel/cpu/resctrl/internal.h | 2 +-
> arch/x86/kernel/cpu/resctrl/core.c | 7 ++++---
> arch/x86/kernel/cpu/resctrl/monitor.c | 4 +---
> fs/resctrl/rdtgroup.c | 8 ++++++--
> 4 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> index e46eb9a4c725..d70c8cb1cb81 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -226,7 +226,7 @@ union l3_qos_abmc_cfg {
>
> void rdt_ctrl_update(void *arg);
>
> -int rdt_get_l3_mon_config(struct rdt_resource *r);
> +void rdt_get_l3_mon_config(struct rdt_resource *r);
>
> bool rdt_cpu_has(int flag);
>
> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index ef37fbb586d3..0ddec2b67e3d 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -1016,10 +1016,11 @@ static __init bool get_rdt_mon_resources(void)
> ret = true;
> }
>
> - if (!ret)
> - return false;
> + if (ret)
> + rdt_get_l3_mon_config(r);
>
> - return !rdt_get_l3_mon_config(r);
> + /* Even if there are no L3 monitor events, AET might be supported */
> + return resctrl_arch_system_max_rmid_idx() > 0;
> }
Please see comments about get_rdt_mon_resources() in patch #2 and patch #12.
>
> static __init void __check_quirks_intel(void)
> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> index bc2df287ccfa..e3485dc55923 100644
> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
> @@ -431,7 +431,7 @@ static void __init intel_rdt_mbm_apply_quirk(u32 num_rmid)
> mbm_cf = mbm_cf_table[cf_index].cf;
> }
>
> -int __init rdt_get_l3_mon_config(struct rdt_resource *r)
> +void __init rdt_get_l3_mon_config(struct rdt_resource *r)
> {
> struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
> unsigned int mbm_offset;
> @@ -514,8 +514,6 @@ int __init rdt_get_l3_mon_config(struct rdt_resource *r)
> intel_rdt_mbm_apply_quirk(r->mon.num_rmid);
>
> r->mon_capable = true;
> -
> - return 0;
> }
>
> static void resctrl_abmc_set_one_amd(void *arg)
> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
> index de07ccdffdb2..3ac518ed2368 100644
> --- a/fs/resctrl/rdtgroup.c
> +++ b/fs/resctrl/rdtgroup.c
> @@ -3195,6 +3195,11 @@ static int rdt_get_tree(struct fs_context *fc)
> goto out;
> }
>
> + if (!resctrl_alloc_capable() && !resctrl_mon_capable()) {
> + ret = -EINVAL;
EINVAL is quite a "catch-all" for mounting errors. I think we could treat
dmesg via "invalfc()" as the mount equivalent of last_cmd_status, this already
started with handling of the mba_MBps mount option.
More specifically, please consider something like:
ret = invalfc(fc, "No allocation or monitoring available/(or enabled?).\n");
> + goto out;
> + }
> +
> ret = setup_rmid_lru_list();
> if (ret)
> goto out;
> @@ -3253,8 +3258,7 @@ static int rdt_get_tree(struct fs_context *fc)
> if (resctrl_mon_capable())
> resctrl_arch_enable_mon();
>
> - if (resctrl_alloc_capable() || resctrl_mon_capable())
> - resctrl_mounted = true;
> + resctrl_mounted = true;
>
> if (resctrl_is_mbm_enabled()) {
> r = resctrl_arch_get_resource(RDT_RESOURCE_L3);
Reinette
next prev parent reply other threads:[~2026-09-10 4:04 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 17:43 [PATCH v11 00/23] Allow AET to use PMT as loadable module Tony Luck
2026-08-31 17:43 ` [PATCH v11 01/23] x86/resctrl: Give better names to X86_FEATURE flags for monitoring Tony Luck
2026-09-10 3:48 ` Reinette Chatre
2026-09-11 0:06 ` Luck, Tony
2026-09-11 15:56 ` Reinette Chatre
2026-09-11 18:21 ` Luck, Tony
2026-09-11 22:51 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 02/23] x86/resctrl: Check if monitoring features are enabled Tony Luck
2026-09-10 3:52 ` Reinette Chatre
2026-09-11 19:11 ` Luck, Tony
2026-09-11 23:08 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 03/23] x86/resctrl: Enumerate monitor features in rdt_get_l3_mon_config() Tony Luck
2026-09-10 3:54 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 04/23] x86/resctrl: Apply Intel MBM quirk from rdt_get_l3_mon_config() Tony Luck
2026-09-10 3:55 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 05/23] x86/resctrl: Delete resctrl_cpu_detect() Tony Luck
2026-08-31 17:44 ` [PATCH v11 06/23] arm,x86,fs/resctrl: Replace architecture resctrl_arch_{alloc,mon}_capable() Tony Luck
2026-09-10 3:56 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 07/23] x86/resctrl: Add special case for Intel Haswell enumeration Tony Luck
2026-09-10 3:56 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 08/23] x86/resctrl: Delete rdt_alloc_capable and rdt_mon_capable Tony Luck
2026-09-10 3:57 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 09/23] fs/resctrl: Remove redundant calls to resctrl_mon_capable() Tony Luck
2026-09-10 3:57 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 10/23] x86/resctrl: Honor rdt=perf option to force enable AET perf events Tony Luck
2026-08-31 17:44 ` [PATCH v11 11/23] fs/resctrl: Add interface to disable a monitor event Tony Luck
2026-09-10 3:58 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 12/23] arm,x86,fs/resctrl: Handle change in number of RMIDs on each mount Tony Luck
2026-09-10 4:01 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 13/23] x86/resctrl: Handle systems when AET is the only resource Tony Luck
2026-09-10 4:04 ` Reinette Chatre [this message]
2026-08-31 17:44 ` [PATCH v11 14/23] x86/resctrl: Enforce system RMID limit on AET event groups Tony Luck
2026-09-10 4:05 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 15/23] x86/resctrl: Add PMT registration API for AET enumeration callbacks Tony Luck
2026-08-31 17:44 ` [PATCH v11 16/23] platform/x86/intel/pmt: Register enumeration functions with resctrl Tony Luck
2026-09-01 11:11 ` Ilpo Järvinen
2026-08-31 17:44 ` [PATCH v11 17/23] arm,x86/resctrl: Resolve INTEL_PMT_TELEMETRY symbols at runtime Tony Luck
2026-09-10 4:07 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 18/23] fs/resctrl: Call arch code for every mount Tony Luck
2026-09-10 4:07 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 19/23] x86/resctrl: Export interface to report telemetry unbind/remove Tony Luck
2026-09-10 4:08 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 20/23] platform/x86/intel/pmt: Inform resctrl when MMIO maps are being removed Tony Luck
2026-09-01 11:09 ` Ilpo Järvinen
2026-09-10 4:09 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 21/23] x86/resctrl: Require 64-bit x86 for resctrl support Tony Luck
2026-09-10 4:09 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 22/23] x86/resctrl: Simplify Kconfig options for resctrl Tony Luck
2026-09-10 4:09 ` Reinette Chatre
2026-08-31 17:44 ` [PATCH v11 23/23] x86/resctrl: Document telemetry mount timing caveat Tony Luck
2026-09-10 4:10 ` Reinette Chatre
2026-09-01 19:53 ` [PATCH v11 00/23] 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=5aecb4ee-15cf-4834-b615-4a9f65a213b3@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
all inboxes | Powered by JetHome®