All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aaron Tomlin <atomlin@atomlin.com>
To: tony.luck@intel.com, reinette.chatre@intel.com,
	Dave.Martin@arm.com, james.morse@arm.com, babu.moger@amd.com,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com
Cc: dave.martin@arm.com, sean@ashe.io, linux-kernel@vger.kernel.org
Subject: [v3 PATCH 0/1] x86/resctrl: Add "*" shorthand to set io_alloc CBM for all domains
Date: Tue, 30 Dec 2025 21:35:48 -0500	[thread overview]
Message-ID: <20251231023549.2390630-1-atomlin@atomlin.com> (raw)

Hi Babu, Tony, Reinette,

This patch introduces a wildcard domain ID selector "*" for the
io_alloc_cbm interface. It allows a user to update the Capacity Bitmask
(CBM) across all cache domains in a single operation.

Currently, configuring io_alloc_cbm requires an explicit ID for each
domain, which is cumbersome on systems with high core counts and numerous
cache clusters. Supporting a wildcard selector simplifies automation and
management tasks.

For example, a user can now write "*=0" to the io_alloc_cbm file to program
every domain to the hardware-defined minimum CBM. Note that the value
provided must still adhere to the constraints defined in the resource's
min_cbm_bits.

Please let me know your thoughts.


Changes since v2 [1]:
 - Dropped return -EINVAL for a missing seq_show implementation
   (Reinette Chatre)
 - Dropped helpers to check io_alloc support and enabled state
   (Reinette Chatre)
 - Removed additional complexity (Babu Moger)
 - Introduced the "*" wildcard for io_alloc_cbm to allow updating all
   cache domains (Reinette Chatre)
 - Replaced goto-based line parsing with a while loop to support
   multi-domain and wildcard iterations
 - Replaced memcpy() with direct structure assignment

Changes since v1 [2]:
 - Updated each helper for consistency (Babu Moger)
 - Refactored the loop logic in function resctrl_io_alloc_parse_line()
   to improve readability
 - Added inline keyword to each helper
 - Added inline keyword to function parse_domain_cbm()

[1]: https://lore.kernel.org/lkml/20251215230257.1798865-1-atomlin@atomlin.com/
[2]: https://lore.kernel.org/lkml/20251126171653.1004321-1-atomlin@atomlin.com/

Aaron Tomlin (1):
  x86/resctrl: Add "*" shorthand to set io_alloc CBM for all domains

 Documentation/filesystems/resctrl.rst |  8 ++++
 fs/resctrl/ctrlmondata.c              | 60 ++++++++++++++-------------
 2 files changed, 40 insertions(+), 28 deletions(-)

-- 
2.51.0


             reply	other threads:[~2025-12-31  2:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-31  2:35 Aaron Tomlin [this message]
2025-12-31  2:35 ` [v3 PATCH 1/1] x86/resctrl: Add "*" shorthand to set io_alloc CBM for all domains Aaron Tomlin
2026-01-06 16:49   ` Babu Moger
2026-01-07  1:28     ` Aaron Tomlin
2026-01-08 18:45   ` Reinette Chatre
2026-01-26  3:30     ` Aaron Tomlin

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=20251231023549.2390630-1-atomlin@atomlin.com \
    --to=atomlin@atomlin.com \
    --cc=Dave.Martin@arm.com \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=reinette.chatre@intel.com \
    --cc=sean@ashe.io \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@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.