linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v12 00/25] x86/resctrl: Move the resctrl filesystem code to /fs/resctrl
@ 2025-05-15 16:58 James Morse
  2025-05-15 16:58 ` [PATCH v12 01/25] cpumask: relax cpumask_any_but() James Morse
                   ` (26 more replies)
  0 siblings, 27 replies; 56+ messages in thread
From: James Morse @ 2025-05-15 16:58 UTC (permalink / raw)
  To: x86, linux-kernel
  Cc: Reinette Chatre, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	H Peter Anvin, Babu Moger, James Morse, shameerali.kolothum.thodi,
	D Scott Phillips OS, carl, lcherian, bobo.shaobowang,
	tan.shaopeng, baolin.wang, Jamie Iles, Xin Hao, peternewman,
	dfustini, amitsinght, David Hildenbrand, Rex Nie, Dave Martin,
	Koba Ko, Shanker Donthineni, fenghuay

Hello!

No code changes since v11 - this is the 'final' form of the series
with patches v11:24-29 squashed together. See [v11] for the breakdown.

The first four patches are a series from Yury which I've rebased onto.

This series is based on rc5, and can be retrieved from:
git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/move_to_fs/v12

With the exception of invalid configurations for the configurable-events, there
should be no changes in behaviour caused by this series. It is now possible for
throttle_mode to report 'undefined', but no known platform will do this.
resctrl_exit() is now something that can be called, but x86 doesn't do this.

The driving pattern is to make things like struct rdtgroup private to resctrl.
Features like pseudo-lock aren't going to work on arm64, the ability to disable
it at compile time is added.

After this, I can start posting the MPAM driver to make use of resctrl on arm64.
(What's MPAM? See the cover letter of the first series. [1])

Bugs are still welcome!
Thanks,

James

[v11] https://lore.kernel.org/all/20250513171547.15194-1-james.morse@arm.com
[v10] https://lore.kernel.org/all/20250508171858.9197-1-james.morse@arm.com
[v9] https://lore.kernel.org/all/20250425173809.5529-1-james.morse@arm.com
[v8] https://lore.kernel.org/all/20250411164229.23413-1-james.morse@arm.com
[v7] https://lore.kernel.org/all/20250228195913.24895-1-james.morse@arm.com/
[v6] https://lore.kernel.org/lkml/20250207181823.6378-1-james.morse@arm.com/
[v5] https://lore.kernel.org/r/20241004180347.19985-1-james.morse@arm.com
[v4] https://lore.kernel.org/all/20240802172853.22529-1-james.morse@arm.com/
[v3] https://lore.kernel.org/r/20240614150033.10454-1-james.morse@arm.com
[v2] https://lore.kernel.org/r/20240426150537.8094-1-Dave.Martin@arm.com
[v1] https://lore.kernel.org/r/20240321165106.31602-1-james.morse@arm.com
[1] https://lore.kernel.org/lkml/20201030161120.227225-1-james.morse@arm.com/

Amit Singh Tomar (1):
  x86/resctrl: Remove the limit on the number of CLOSID

Dave Martin (3):
  x86/resctrl: Squelch whitespace anomalies in resctrl core code
  x86/resctrl: Prefer alloc(sizeof(*foo)) idiom in rdt_init_fs_context()
  x86/resctrl: Relax some asm #includes

James Morse (17):
  x86/resctrl: Rename resctrl_sched_in() to begin with "resctrl_arch_"
  x86/resctrl: Check all domains are offline in resctrl_exit()
  x86/resctrl: resctrl_exit() teardown resctrl but leave the mount point
  x86/resctrl: Drop __init/__exit on assorted symbols
  x86/resctrl: Move is_mba_sc() out of core.c
  x86/resctrl: Add end-marker to the resctrl_event_id enum
  x86/resctrl: Expand the width of domid by replacing mon_data_bits
  x86/resctrl: Split trace.h
  x86/resctrl: Add 'resctrl' to the title of the resctrl documentation
  fs/resctrl: Add boiler plate for external resctrl code
  x86/resctrl: Move the filesystem bits to headers visible to fs/resctrl
  x86/resctrl: Move enum resctrl_event_id to resctrl.h
  x86/resctrl: Fix types in resctrl_arch_mon_ctx_{alloc,free}() stubs
  x86/resctrl: Move pseudo lock prototypes to include/linux/resctrl.h
  x86/resctrl: Always initialise rid field in rdt_resources_all[]
  x86,fs/resctrl: Move the resctrl filesystem code to live in
    /fs/resctrl
  MAINTAINERS: Add reviewers for fs/resctrl

Yury Norov [NVIDIA] (4):
  cpumask: relax cpumask_any_but()
  find: add find_first_andnot_bit()
  cpumask: add cpumask_{first,next}_andnot() API
  x86/resctrl: Optimize cpumask_any_housekeeping()

 Documentation/arch/x86/index.rst              |    1 -
 Documentation/filesystems/index.rst           |    1 +
 .../{arch/x86 => filesystems}/resctrl.rst     |    6 +-
 MAINTAINERS                                   |    5 +-
 arch/Kconfig                                  |    8 +
 arch/x86/Kconfig                              |   11 +-
 arch/x86/include/asm/resctrl.h                |   19 +-
 arch/x86/kernel/cpu/resctrl/Makefile          |    2 +
 arch/x86/kernel/cpu/resctrl/core.c            |   31 +-
 arch/x86/kernel/cpu/resctrl/ctrlmondata.c     |  635 ---
 arch/x86/kernel/cpu/resctrl/internal.h        |  399 +-
 arch/x86/kernel/cpu/resctrl/monitor.c         |  918 +---
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c     | 1092 +----
 .../resctrl/{trace.h => pseudo_lock_trace.h}  |   26 +-
 arch/x86/kernel/cpu/resctrl/rdtgroup.c        | 4164 +---------------
 arch/x86/kernel/process_32.c                  |    2 +-
 arch/x86/kernel/process_64.c                  |    2 +-
 fs/Kconfig                                    |    1 +
 fs/Makefile                                   |    1 +
 fs/resctrl/Kconfig                            |   39 +
 fs/resctrl/Makefile                           |    6 +
 fs/resctrl/ctrlmondata.c                      |  661 +++
 fs/resctrl/internal.h                         |  426 ++
 fs/resctrl/monitor.c                          |  929 ++++
 fs/resctrl/monitor_trace.h                    |   33 +
 fs/resctrl/pseudo_lock.c                      | 1105 +++++
 fs/resctrl/rdtgroup.c                         | 4353 +++++++++++++++++
 include/linux/cpumask.h                       |   75 +-
 include/linux/find.h                          |   25 +
 include/linux/resctrl.h                       |   36 +-
 include/linux/resctrl_types.h                 |   16 +-
 lib/find_bit.c                                |   11 +
 32 files changed, 7772 insertions(+), 7267 deletions(-)
 rename Documentation/{arch/x86 => filesystems}/resctrl.rst (99%)
 rename arch/x86/kernel/cpu/resctrl/{trace.h => pseudo_lock_trace.h} (56%)
 create mode 100644 fs/resctrl/Kconfig
 create mode 100644 fs/resctrl/Makefile
 create mode 100644 fs/resctrl/ctrlmondata.c
 create mode 100644 fs/resctrl/internal.h
 create mode 100644 fs/resctrl/monitor.c
 create mode 100644 fs/resctrl/monitor_trace.h
 create mode 100644 fs/resctrl/pseudo_lock.c
 create mode 100644 fs/resctrl/rdtgroup.c

-- 
2.39.5


^ permalink raw reply	[flat|nested] 56+ messages in thread

end of thread, other threads:[~2025-05-17 10:03 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-15 16:58 [PATCH v12 00/25] x86/resctrl: Move the resctrl filesystem code to /fs/resctrl James Morse
2025-05-15 16:58 ` [PATCH v12 01/25] cpumask: relax cpumask_any_but() James Morse
2025-05-17 10:03   ` [tip: x86/cache] cpumask: Relax cpumask_any_but() tip-bot2 for Yury Norov [NVIDIA]
2025-05-15 16:58 ` [PATCH v12 02/25] find: add find_first_andnot_bit() James Morse
2025-05-17 10:03   ` [tip: x86/cache] find: Add find_first_andnot_bit() tip-bot2 for Yury Norov [NVIDIA]
2025-05-15 16:58 ` [PATCH v12 03/25] cpumask: add cpumask_{first,next}_andnot() API James Morse
2025-05-17 10:03   ` [tip: x86/cache] cpumask: Add " tip-bot2 for Yury Norov [NVIDIA]
2025-05-15 16:58 ` [PATCH v12 04/25] x86/resctrl: Optimize cpumask_any_housekeeping() James Morse
2025-05-17 10:03   ` [tip: x86/cache] " tip-bot2 for Yury Norov [NVIDIA]
2025-05-15 16:58 ` [PATCH v12 05/25] x86/resctrl: Remove the limit on the number of CLOSID James Morse
2025-05-17 10:03   ` [tip: x86/cache] " tip-bot2 for Amit Singh Tomar
2025-05-15 16:58 ` [PATCH v12 06/25] x86/resctrl: Rename resctrl_sched_in() to begin with "resctrl_arch_" James Morse
2025-05-17 10:03   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 07/25] x86/resctrl: Check all domains are offline in resctrl_exit() James Morse
2025-05-17 10:03   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 08/25] x86/resctrl: resctrl_exit() teardown resctrl but leave the mount point James Morse
2025-05-17 10:03   ` [tip: x86/cache] x86/resctrl: Resctrl_exit() " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 09/25] x86/resctrl: Drop __init/__exit on assorted symbols James Morse
2025-05-17 10:03   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 10/25] x86/resctrl: Move is_mba_sc() out of core.c James Morse
2025-05-17 10:03   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 11/25] x86/resctrl: Add end-marker to the resctrl_event_id enum James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 12/25] x86/resctrl: Expand the width of domid by replacing mon_data_bits James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 13/25] x86/resctrl: Split trace.h James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 14/25] x86/resctrl: Add 'resctrl' to the title of the resctrl documentation James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 15/25] fs/resctrl: Add boiler plate for external resctrl code James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 16/25] x86/resctrl: Move the filesystem bits to headers visible to fs/resctrl James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 17/25] x86/resctrl: Move enum resctrl_event_id to resctrl.h James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 18/25] x86/resctrl: Fix types in resctrl_arch_mon_ctx_{alloc,free}() stubs James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 19/25] x86/resctrl: Move pseudo lock prototypes to include/linux/resctrl.h James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 20/25] x86/resctrl: Squelch whitespace anomalies in resctrl core code James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for Dave Martin
2025-05-15 16:58 ` [PATCH v12 21/25] x86/resctrl: Prefer alloc(sizeof(*foo)) idiom in rdt_init_fs_context() James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for Dave Martin
2025-05-15 16:58 ` [PATCH v12 22/25] x86/resctrl: Relax some asm #includes James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for Dave Martin
2025-05-15 16:58 ` [PATCH v12 23/25] x86/resctrl: Always initialise rid field in rdt_resources_all[] James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 24/25] x86,fs/resctrl: Move the resctrl filesystem code to live in /fs/resctrl James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 16:58 ` [PATCH v12 25/25] MAINTAINERS: Add reviewers for fs/resctrl James Morse
2025-05-17 10:02   ` [tip: x86/cache] " tip-bot2 for James Morse
2025-05-15 17:50 ` [PATCH v12 00/25] x86/resctrl: Move the resctrl filesystem code to /fs/resctrl Borislav Petkov
2025-05-15 18:00   ` Fenghua Yu
2025-05-15 18:06     ` Borislav Petkov
2025-05-15 18:11       ` Fenghua Yu
2025-05-15 18:04 ` Reinette Chatre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).