public inbox for linux-doc@vger.kernel.org
 help / color / mirror / Atom feed
From: Tony Luck <tony.luck@intel.com>
To: Fenghua Yu <fenghua.yu@intel.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Peter Newman <peternewman@google.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	x86@kernel.org
Cc: James Morse <james.morse@arm.com>,
	Jamie Iles <quic_jiles@quicinc.com>,
	Babu Moger <babu.moger@amd.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	"Shaopeng Tan (Fujitsu)" <tan.shaopeng@fujitsu.com>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	patches@lists.linux.dev, Tony Luck <tony.luck@intel.com>
Subject: [PATCH v8 0/7] x86/resctrl: mba_MBps enhancement
Date: Tue, 29 Oct 2024 10:28:25 -0700	[thread overview]
Message-ID: <20241029172832.93963-1-tony.luck@intel.com> (raw)

Add support to choose the memory monitor bandwidth event independently
for each ctrl_mon group when resctrl is mounted with the mba_MBps
option. Users may want this for applications that are not localized to
NUMA boundaries.  Default behavior still uses local memory bandwidth
when that event is supported by the platform.

Side benefit[0]: Systems that do not support the local bandwidth monitor
event but do support the total bandwidth event can now use the mba_MBps
mount option.

Changes since v7[1]:
--------------------

Almost a complete rewrite based on the new user ABI of a file
in each ctrl_mon group to select the event instead of a mount
option that applies to all groups.

Some of the code from the v7 patch0001 was salvaged and is now
split between patches 0002/0003 in this series. Patch 0002
addresses comments from Reinette[2] with additional sanity
checks, use of WARN_ON_ONCE() and early return from functions
where these checks fail.

I moved the refactor of mbm_update() to a separate patch to
make it easier to review the changes to compute bandwidth for
all memory bandwidth events.

Signed-off-by: Tony Luck <tony.luck@intel.com>

[0] My original objective!
[1] https://lore.kernel.org/all/20241003191228.67541-1-tony.luck@intel.com
[2] https://lore.kernel.org/all/bb30835f-5be9-44b4-8544-2f528e7fc573@intel.com/

Tony Luck (7):
  x86/resctrl: Prepare for per-ctrl_mon group mba_MBps control
  x86/resctrl: Compute memory bandwidth for all supported events
  x86/resctrl: Refactor mbm_update()
  x86/resctrl: Relax checks for mba_MBps mount option
  x86/resctrl: Add "mba_MBps_event" file to ctrl_mon directories
  x86/resctrl: Add write option to "mba_MBps_event" file
  x86/resctrl: Document the new "mba_MBps_event" file

 Documentation/arch/x86/resctrl.rst        | 10 +++
 include/linux/resctrl.h                   |  2 +
 arch/x86/kernel/cpu/resctrl/internal.h    |  6 ++
 arch/x86/kernel/cpu/resctrl/core.c        |  5 ++
 arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 71 ++++++++++++++++++
 arch/x86/kernel/cpu/resctrl/monitor.c     | 91 ++++++++++++-----------
 arch/x86/kernel/cpu/resctrl/rdtgroup.c    | 28 ++++++-
 7 files changed, 167 insertions(+), 46 deletions(-)


base-commit: 81983758430957d9a5cb3333fe324fd70cf63e7e
-- 
2.47.0


             reply	other threads:[~2024-10-29 17:28 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-29 17:28 Tony Luck [this message]
2024-10-29 17:28 ` [PATCH v8 1/7] x86/resctrl: Prepare for per-ctrl_mon group mba_MBps control Tony Luck
2024-11-01 22:03   ` Fenghua Yu
2024-11-01 22:40     ` Tony Luck
2024-11-12 19:24   ` Reinette Chatre
2024-10-29 17:28 ` [PATCH v8 2/7] x86/resctrl: Compute memory bandwidth for all supported events Tony Luck
2024-11-12 19:25   ` Reinette Chatre
2024-10-29 17:28 ` [PATCH v8 3/7] x86/resctrl: Refactor mbm_update() Tony Luck
2024-11-01 22:08   ` Fenghua Yu
2024-11-01 22:57     ` Tony Luck
2024-11-13 22:25   ` Reinette Chatre
2024-11-13 22:58     ` Tony Luck
2024-11-13 23:58       ` Reinette Chatre
2024-11-14 10:31       ` Peter Newman
2024-11-14 17:20         ` Tony Luck
2024-10-29 17:28 ` [PATCH v8 4/7] x86/resctrl: Relax checks for mba_MBps mount option Tony Luck
2024-10-29 17:28 ` [PATCH v8 5/7] x86/resctrl: Add "mba_MBps_event" file to ctrl_mon directories Tony Luck
2024-11-12 22:12   ` Reinette Chatre
2024-11-12 23:42     ` Luck, Tony
2024-11-13  0:20       ` Reinette Chatre
2024-11-13  0:53         ` Luck, Tony
2024-11-13  2:54           ` Reinette Chatre
2024-10-29 17:28 ` [PATCH v8 6/7] x86/resctrl: Add write option to "mba_MBps_event" file Tony Luck
2024-11-01 23:26   ` Fenghua Yu
2024-11-01 23:55     ` Luck, Tony
2024-11-02  0:57       ` Fenghua Yu
2024-11-12 22:00         ` Reinette Chatre
2024-11-12 23:57           ` Luck, Tony
2024-11-13  0:40             ` Reinette Chatre
2024-11-12 22:18   ` Reinette Chatre
2024-10-29 17:28 ` [PATCH v8 7/7] x86/resctrl: Document the new " Tony Luck
2024-11-12 22:25   ` Reinette Chatre

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=20241029172832.93963-1-tony.luck@intel.com \
    --to=tony.luck@intel.com \
    --cc=babu.moger@amd.com \
    --cc=corbet@lwn.net \
    --cc=fenghua.yu@intel.com \
    --cc=james.morse@arm.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=peternewman@google.com \
    --cc=quic_jiles@quicinc.com \
    --cc=rdunlap@infradead.org \
    --cc=reinette.chatre@intel.com \
    --cc=skhan@linuxfoundation.org \
    --cc=tan.shaopeng@fujitsu.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