RE: [PATCH v8:for-boris 00/30] x86/resctrl: Move the resctrl filesystem code to /fs/resctrl

From: Shaopeng Tan (Fujitsu)
Date: Wed Mar 12 2025 - 06:55:38 EST


Hello

I ran tools/tests/selftests/resctrl on Intel(R) Xeon(R) Gold 6338T CPU @ 2.10GHz,
and reviewed all the patches.

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

Best regards,
Shaopeng TAN

> -----Original Message-----
> From: James Morse <james.morse@xxxxxxx>
> Sent: Wednesday, March 12, 2025 3:37 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:for-boris 00/30] x86/resctrl: Move the resctrl filesystem
> code to /fs/resctrl
>
> Changes since v7?:
> * Series split to the first 30 patches, requested by Boris.
> * Fixed stale function names, definitions/declartions and typos.
> * Dropped the use of the default ctrlval helper in cache_alloc_hsw_probe()
>
> As ever, changes are noted on each patch.
> ---
> 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.
>
> All this is to allow the filesystem portions of resctrl to be moved to live in /fs/,
> which allows resctrl to be supported by other architecture, such as arm64's
> MPAM.
> (What's MPAM? See the cover letter of the first series. [1])
>
> This series is based on v6.14-rc3 and can be retrieved from:
> https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
> mpam/move_to_fs/v8_for_boris
>
> As ever - bugs welcome,
> Thanks,
>
> James
>
> [v7]
> https://lore.kernel.org/lkml/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/
>
> James Morse (30):
> x86/resctrl: Fix allocation of cleanest CLOSID on platforms with no
> monitors
> x86/resctrl: Add a helper to avoid reaching into the arch code
> resource list
> x86/resctrl: Remove fflags from struct rdt_resource
> x86/resctrl: Use schema type to determine how to parse schema values
> x86/resctrl: Use schema type to determine the schema format string
> x86/resctrl: Remove data_width and the tabular format
> x86/resctrl: Add max_bw to struct resctrl_membw
> x86/resctrl: Generate default_ctrl instead of sharing it
> x86/resctrl: Add helper for setting CPU default properties
> x86/resctrl: Remove rdtgroup from update_cpu_closid_rmid()
> x86/resctrl: Expose resctrl fs's init function to the rest of the
> kernel
> x86/resctrl: Move rdt_find_domain() to be visible to arch and fs code
> x86/resctrl: Move resctrl types to a separate header
> x86/resctrl: Add an arch helper to reset one resource
> x86/resctrl: Move monitor exit work to a resctrl exit call
> x86/resctrl: Move monitor init work to a resctrl init call
> x86/resctrl: Rewrite and move the for_each_*_rdt_resource() walkers
> x86/resctrl: Move the is_mbm_*_enabled() helpers to asm/resctrl.h
> x86/resctrl: Add resctrl_arch_is_evt_configurable() to abstract BMEC
> x86/resctrl: Change mon_event_config_{read,write}() to be arch helpers
> x86/resctrl: Move mba_mbps_default_event init to filesystem code
> x86/resctrl: Move mbm_cfg_mask to struct rdt_resource
> x86/resctrl: Add resctrl_arch_ prefix to pseudo lock functions
> x86/resctrl: Allow an architecture to disable pseudo lock
> x86/resctrl: Make prefetch_disable_bits belong to the arch code
> x86/resctrl: Make resctrl_arch_pseudo_lock_fn() take a plr
> x86/resctrl: Move RFTYPE flags to be managed by resctrl
> x86/resctrl: Handle throttle_mode for SMBA resources
> x86/resctrl: Move get_config_index() to a header
> x86/resctrl: Move get_{mon,ctrl}_domain_from_cpu() to live with their
> callers
>
> MAINTAINERS | 1 +
> arch/x86/Kconfig | 7 +
> arch/x86/include/asm/resctrl.h | 36 ++-
> arch/x86/kernel/cpu/resctrl/Makefile | 5 +-
> arch/x86/kernel/cpu/resctrl/core.c | 181 ++++----------
> arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 93 ++++---
> arch/x86/kernel/cpu/resctrl/internal.h | 201 ++++-----------
> arch/x86/kernel/cpu/resctrl/monitor.c | 119 ++++++---
> arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 55 +++--
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 284
> ++++++++++++++++------
> include/linux/resctrl.h | 212 ++++++++++++++--
> include/linux/resctrl_types.h | 54 ++++
> 12 files changed, 769 insertions(+), 479 deletions(-) create mode 100644
> include/linux/resctrl_types.h
>
> --
> 2.39.5