[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <76b16ef7-2f37-4c30-97af-1d372b7fb251@amd.com>
Date: Fri, 2 May 2025 11:04:42 -0500
From: "Moger, Babu" <babu.moger@....com>
To: James Morse <james.morse@....com>, x86@...nel.org,
linux-kernel@...r.kernel.org, Reinette Chatre <reinette.chatre@...el.com>
Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>, H Peter Anvin <hpa@...or.com>,
shameerali.kolothum.thodi@...wei.com,
D Scott Phillips OS <scott@...amperecomputing.com>,
carl@...amperecomputing.com, lcherian@...vell.com,
bobo.shaobowang@...wei.com, tan.shaopeng@...itsu.com,
baolin.wang@...ux.alibaba.com, Jamie Iles <quic_jiles@...cinc.com>,
Xin Hao <xhao@...ux.alibaba.com>, peternewman@...gle.com,
dfustini@...libre.com, amitsinght@...vell.com,
David Hildenbrand <david@...hat.com>, Rex Nie <rex.nie@...uarmicro.com>,
Dave Martin <dave.martin@....com>, Koba Ko <kobak@...dia.com>,
Shanker Donthineni <sdonthineni@...dia.com>, fenghuay@...dia.com
Subject: Re: [PATCH v9 00/27] x86/resctrl: Move the resctrl filesystem code to
/fs/resctrl
Hi James, Reinette,
On 4/25/25 12:37, James Morse wrote:
> Changes since v8:
> * Added check for closid_init() on monitor only platforms.
> * Moved end-marker into array and added default cases.
> * Additional patches to move prototpyes between header files.
>
> Changes otherwise noted on each patch.
>
> ---
>
> Patches 20-26 should be squashed together when merged, taking the commit message
> of patch 21. They are posted like this to allow folk to re-generate patch 21, 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/v9_final
>
> This series is based on rc3, and can be retrieved from:
> git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/move_to_fs/v9
>
> 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
>
> [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 (23):
> 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() and free stubs
> x86/resctrl: Move pseudo lock prototypes to include/linux/resctrl.h
> x86/resctrl: Always initialise rid field in rdt_resources_all[]
> x86/resctrl: Remove a newline to avoid confusing the code move script
> x86/resctrl: Add python script to move resctrl code to /fs/resctrl
> 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
> MAINTAINERS: Add reviewers for fs/resctrl
>
> 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 | 15 +-
> 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 | 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 | 4344 +++++++++++++++++
> include/linux/resctrl.h | 36 +-
> include/linux/resctrl_types.h | 16 +-
> resctrl_copy_pasta.py | 823 ++++
> 30 files changed, 8490 insertions(+), 7261 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
> create mode 100644 resctrl_copy_pasta.py
>
I retested the patches on a couple of AMD systems, and everything looks good.
Tested-by: Babu Moger babu.moger@....com
It's very likely that these patches will be merged before my ABMC series [1].
I'm currently working on v13 of the ABMC series and considering rebasing
it on top of James' v9. That could potentially eliminate one review cycle
during the merge process.
What are your thoughts on this approach?
1. https://lore.kernel.org/lkml/cover.1743725907.git.babu.moger@amd.com/
--
Thanks
Babu Moger
Powered by blists - more mailing lists