RE: [PATCH v8 00/21] x86/resctrl: Move the resctrl filesystem code to /fs/resctrl

From: Shaopeng Tan (Fujitsu)
Date: Thu Apr 17 2025 - 08:20:21 EST


Hello,

I ran tools/tests/selftests/resctrl with the following patches on AMD EPYC 9454P 48-Core Processor, it looks good.

https://lore.kernel.org/lkml/96d276c11e69cfb1e29d50a12c8043555c06b404.1718144237.git.babu.moger@xxxxxxx/#r
https://lore.kernel.org/lkml/cover.1717626661.git.babu.moger@xxxxxxx/#r

Tested-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx>

Best regards,
Shaopeng TAN

> -----Original Message-----
> From: James Morse <james.morse@xxxxxxx>
> Sent: Saturday, April 12, 2025 1:42 AM
> To: x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Cc: Reinette Chatre <reinette.chatre@xxxxxxxxx>; Thomas Gleixner
> <tglx@xxxxxxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>; Borislav Petkov
> <bp@xxxxxxxxx>; H Peter Anvin <hpa@xxxxxxxxx>; Babu Moger
> <Babu.Moger@xxxxxxx>; James Morse <james.morse@xxxxxxx>;
> shameerali.kolothum.thodi@xxxxxxxxxx; D Scott Phillips OS
> <scott@xxxxxxxxxxxxxxxxxxxxxx>; carl@xxxxxxxxxxxxxxxxxxxxxx;
> lcherian@xxxxxxxxxxx; bobo.shaobowang@xxxxxxxxxx; Tan, Shaopeng/譚 紹
> 鵬 <tan.shaopeng@xxxxxxxxxxx>; baolin.wang@xxxxxxxxxxxxxxxxx; Jamie Iles
> <quic_jiles@xxxxxxxxxxx>; Xin Hao <xhao@xxxxxxxxxxxxxxxxx>;
> peternewman@xxxxxxxxxx; dfustini@xxxxxxxxxxxx; amitsinght@xxxxxxxxxxx;
> David Hildenbrand <david@xxxxxxxxxx>; Rex Nie
> <rex.nie@xxxxxxxxxxxxxxx>; Dave Martin <dave.martin@xxxxxxx>; Koba Ko
> <kobak@xxxxxxxxxx>; Shanker Donthineni <sdonthineni@xxxxxxxxxx>;
> fenghuay@xxxxxxxxxx
> Subject: [PATCH v8 00/21] x86/resctrl: Move the resctrl filesystem code to
> /fs/resctrl
>
> Changes since v7:
> * Switched to Tony's alternative for having a structure behind struct
> mon_data.
>
> Changes otherwise noted on each patch.
>
> N.B, the disk in my machine recently died - so I've re-done the feedback
> changes multiple times. Appologies if I missed something on the second pass!
> ---
> Patch 1 has been posted as a fix that should get picked up independently.
>
> Patches X-Y should be squashed together when merged - they are posted like
> this to allow folk to re-generate patch N, then review the differences on top. Not
> squashing them together would expose a ftrace build warning during bisect.
> (but who does that!) That would look like this:
> git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
> mpam/move_to_fs/v8_final
>
> This series is based on rc1, and can be retrieved from:
> git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
> mpam/move_to_fs/v8
>
> This series renames functions and moves code around. 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.
>
> 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])
>
> As ever - bugs welcome,
> Thanks,
>
> James
>
> [v7]
> https://lore.kernel.org/all/20250228195913.24895-1-james.morse@xxxxxxx/
> [v6]
> https://lore.kernel.org/lkml/20250207181823.6378-1-james.morse@xxxxxxx/
> [v5]
> https://lore.kernel.org/r/20241004180347.19985-1-james.morse@xxxxxxx
> [v4]
> https://lore.kernel.org/all/20240802172853.22529-1-james.morse@xxxxxxx/
> [v3]
> https://lore.kernel.org/r/20240614150033.10454-1-james.morse@xxxxxxx
> [v2] https://lore.kernel.org/r/20240426150537.8094-1-Dave.Martin@xxxxxxx
> [v1]
> https://lore.kernel.org/r/20240321165106.31602-1-james.morse@xxxxxxx
> [1]
> https://lore.kernel.org/lkml/20201030161120.227225-1-james.morse@xxxxxx
> m/
>
> 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: Fix rdtgroup_mkdir()'s unlocked use of kernfs_node::name
> x86/resctrl: Rename resctrl_sched_in() to begin with "resctrl_arch_"
> 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 dom_id by replacing mon_data_bits
> x86/resctrl: Remove a newline to avoid confusing the code move script
> x86/resctrl: Split trace.h
> fs/resctrl: Add boiler plate for external resctrl code
> x86/resctrl: Move the filesystem bits to headers visible to fs/resctrl
> x86/resctrl: Always initialise rid field in rdt_resources_all[]
> x86,fs/resctrl: Move the resctrl filesystem code to live in
> /fs/resctrl
> x86,fs/resctrl: Remove duplicated trace header files
> fs/resctrl: Remove unnecessary includes
> fs/resctrl: Change internal.h's header guard macros
> x86,fs/resctrl: Move resctrl.rst to live under
> Documentation/filesystems
>
> Documentation/arch/x86/index.rst | 1 -
> Documentation/filesystems/index.rst | 1 +
> .../{arch/x86 => filesystems}/resctrl.rst | 0
> MAINTAINERS | 3 +-
> arch/Kconfig | 8 +
> arch/x86/Kconfig | 11 +-
> arch/x86/include/asm/resctrl.h | 7 +-
> arch/x86/kernel/cpu/resctrl/Makefile | 3 +
> arch/x86/kernel/cpu/resctrl/core.c | 31 +-
> arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 635 ---
> arch/x86/kernel/cpu/resctrl/internal.h | 397 +-
> arch/x86/kernel/cpu/resctrl/monitor.c | 909 +---
> arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 1092 +---
> .../resctrl/{trace.h => pseudo_lock_trace.h} | 26 +-
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 4426 +----------------
> 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 | 660 +++
> fs/resctrl/internal.h | 440 ++
> fs/resctrl/monitor.c | 929 ++++
> fs/resctrl/monitor_trace.h | 33 +
> fs/resctrl/pseudo_lock.c | 1105 ++++
> fs/resctrl/rdtgroup.c | 4311
> ++++++++++++++++
> include/linux/resctrl.h | 10 +-
> include/linux/resctrl_types.h | 5 +
> 29 files changed, 7731 insertions(+), 7363 deletions(-) rename
> Documentation/{arch/x86 => filesystems}/resctrl.rst (100%) 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.20.1