From: Ben Horgan <ben.horgan@arm.com>
To: linux-kernel@vger.kernel.org
Cc: tony.luck@intel.com, reinette.chatre@intel.com,
Dave.Martin@arm.com, james.morse@arm.com, babu.moger@amd.com,
tglx@kernel.org, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
ben.horgan@arm.com, fenghuay@nvidia.com,
tan.shaopeng@fujitsu.com
Subject: [PATCH v2 5/6] x86,fs/resctrl: Add resctrl_arch_mbm_cntr_assign_fixed()
Date: Fri, 13 Mar 2026 17:45:23 +0000 [thread overview]
Message-ID: <20260313174524.3482767-6-ben.horgan@arm.com> (raw)
In-Reply-To: <20260313174524.3482767-1-ben.horgan@arm.com>
Commit
3b497c3f4f04 ("fs/resctrl: Introduce the interface to display monitoring modes")
introduced CONFIG_RESCTRL_ASSIGN_FIXED but left adding the Kconfig
entry until it was necessary. The counter assignment mode is fixed in
MPAM, even when there are assignable counters, and so addressing this
is needed to support MPAM.
To avoid the burden of another Kconfig entry, replace
CONFIG_RESCTRL_ASSIGN_FIXED with a new arch hook,
resctrl_arch_mbm_cntr_assign_fixed().
To enable better user reporting check use the new check in
resctrl_mbm_assign_mode_write().
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
---
arch/x86/kernel/cpu/resctrl/monitor.c | 5 +++++
fs/resctrl/monitor.c | 8 +++++++-
include/linux/resctrl.h | 10 ++++++++++
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index 9bd87bae4983..aa7f8f1ecd22 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -523,6 +523,11 @@ bool resctrl_arch_mbm_cntr_assign_enabled(struct rdt_resource *r)
return resctrl_to_arch_res(r)->mbm_cntr_assign_enabled;
}
+bool resctrl_arch_mbm_cntr_assign_fixed(struct rdt_resource *r)
+{
+ return false;
+}
+
static void resctrl_abmc_config_one_amd(void *info)
{
union l3_qos_abmc_cfg *abmc_cfg = info;
diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
index a2da771d82df..62edb464410a 100644
--- a/fs/resctrl/monitor.c
+++ b/fs/resctrl/monitor.c
@@ -1455,7 +1455,7 @@ int resctrl_mbm_assign_mode_show(struct kernfs_open_file *of,
else
seq_puts(s, "[default]\n");
- if (!IS_ENABLED(CONFIG_RESCTRL_ASSIGN_FIXED)) {
+ if (!resctrl_arch_mbm_cntr_assign_fixed(r)) {
if (enabled)
seq_puts(s, "default\n");
else
@@ -1506,6 +1506,12 @@ ssize_t resctrl_mbm_assign_mode_write(struct kernfs_open_file *of, char *buf,
}
if (enable != resctrl_arch_mbm_cntr_assign_enabled(r)) {
+ if (!resctrl_arch_mbm_cntr_assign_fixed(r)) {
+ ret = -EINVAL;
+ rdt_last_cmd_puts("Counter assignment mode is not configurable\n");
+ goto out_unlock;
+ }
+
ret = resctrl_arch_mbm_cntr_assign_set(r, enable);
if (ret)
goto out_unlock;
diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
index 4ae63233b506..c85176999eb2 100644
--- a/include/linux/resctrl.h
+++ b/include/linux/resctrl.h
@@ -500,6 +500,16 @@ bool resctrl_arch_mbm_cntr_assign_enabled(struct rdt_resource *r);
*/
int resctrl_arch_mbm_cntr_assign_set(struct rdt_resource *r, bool enable);
+/**
+ * resctrl_arch_mbm_cntr_assign_fixed() - Check if MBM counter assignment mode
+ * can be configured.
+ * @r: Pointer to the resource structure.
+ *
+ * Return:
+ * true if the assignment mode is fixed, false otherwise.
+ */
+bool resctrl_arch_mbm_cntr_assign_fixed(struct rdt_resource *r);
+
/*
* Update the ctrl_val and apply this config right now.
* Must be called on one of the domain's CPUs.
--
2.43.0
next prev parent reply other threads:[~2026-03-13 17:45 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-13 17:45 [PATCH v2 0/6] x86,fs/resctrl: Pave the way for MPAM counter assignment Ben Horgan
2026-03-13 17:45 ` [PATCH v2 1/6] x86,fs/resctrl: Make resctrl_arch_is_evt_configurable() aware of mbm_assign_mode Ben Horgan
2026-03-13 17:45 ` [PATCH v2 2/6] fs/resctrl: Tidy up the error path in resctrl_mkdir_event_configs() Ben Horgan
2026-03-13 17:45 ` [PATCH v2 3/6] fs/resctrl: Make 'event_filter' files read only if they're not configurable Ben Horgan
2026-03-13 18:33 ` Luck, Tony
2026-03-16 9:51 ` Ben Horgan
2026-03-16 16:27 ` Luck, Tony
2026-03-16 17:02 ` Ben Horgan
2026-03-16 17:29 ` Reinette Chatre
2026-03-17 12:05 ` Ben Horgan
2026-03-13 17:45 ` [PATCH v2 4/6] fs/resctrl: Disallow the software controller when mbm counters are assignable Ben Horgan
2026-03-16 21:35 ` Reinette Chatre
2026-03-17 11:13 ` Ben Horgan
2026-03-17 17:17 ` Reinette Chatre
2026-03-18 15:44 ` Ben Horgan
2026-03-18 15:55 ` Ben Horgan
2026-03-18 22:17 ` Reinette Chatre
2026-03-13 17:45 ` Ben Horgan [this message]
2026-03-13 17:45 ` [PATCH v2 6/6] arm_mpam: resctrl: Adapt to new or changed resctrl arch functions Ben Horgan
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=20260313174524.3482767-6-ben.horgan@arm.com \
--to=ben.horgan@arm.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=fenghuay@nvidia.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=reinette.chatre@intel.com \
--cc=tan.shaopeng@fujitsu.com \
--cc=tglx@kernel.org \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/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®