RE: [PATCH v4 00/21] x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes

tan.shaopeng@fujitsu.com posted 21 patches 4 years ago
Only 0 patches received!
RE: [PATCH v4 00/21] x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes
Posted by tan.shaopeng@fujitsu.com 4 years ago
Hi James,

> -----Original Message-----
> From: James Morse <james.morse@arm.com>
> Sent: Tuesday, April 12, 2022 9:44 PM
> To: x86@kernel.org; linux-kernel@vger.kernel.org
> Cc: Fenghua Yu <fenghua.yu@intel.com>; Reinette Chatre
> <reinette.chatre@intel.com>; Thomas Gleixner <tglx@linutronix.de>; Ingo
> Molnar <mingo@redhat.com>; Borislav Petkov <bp@alien8.de>; H Peter
> Anvin <hpa@zytor.com>; Babu Moger <Babu.Moger@amd.com>; James
> Morse <james.morse@arm.com>; shameerali.kolothum.thodi@huawei.com; D
> Scott Phillips OS <scott@os.amperecomputing.com>; lcherian@marvell.com;
> bobo.shaobowang@huawei.com; Tan, Shaopeng/譚 紹鵬
> <tan.shaopeng@fujitsu.com>; Jamie Iles <quic_jiles@quicinc.com>; Cristian
> Marussi <cristian.marussi@arm.com>; Xin Hao <xhao@linux.alibaba.com>;
> xingxin.hx@openanolis.org; baolin.wang@linux.alibaba.com
> Subject: [PATCH v4 00/21] x86/resctrl: Make resctrl_arch_rmid_read() return
> values in bytes
> 
> Changes in this version?
>  * Fixed the problems with mon_capable preventing mbps_val[] being
> allocated
>    on the correct resources.
>  * Fixed initialisation of ctrl_val[] to ~0 when mba_sc is selected.
>  * Assorted style fixes.
> 
> ---
> The aim of this series is to insert a split between the parts of the monitor code
> that the architecture must implement, and those that are part of the resctrl
> filesystem. The eventual aim is to move all filesystem parts out to live in
> /fs/resctrl, so that resctrl can be wired up for MPAM.
> 
> What's MPAM? See the cover letter of a previous series. [1]
> 
> The series adds domain online/offline callbacks to allow the filesystem to
> manage some of its structures itself, then moves all the 'mba_sc' behaviour to
> be part of the filesystem.
> This means another architecture doesn't need to provide an mbps_val array.
> As its all software, the resctrl filesystem should be able to do this without any
> help from the architecture code.
> 
> Finally __rmid_read() is refactored to be the API call that the architecture
> provides to read a counter value. All the hardware specific overflow detection,
> scaling and value correction should occur behind this helper.
> 
> 
> This series is based on v5.18-rc1, and can be retrieved from:
> git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
> mpam/resctrl_monitors_in_bytes/v4
> 
> [0] git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
> mpam/resctrl_merge_cdp/v7 [1]
> https://lore.kernel.org/lkml/20210728170637.25610-1-james.morse@arm.com
> /
> 
> [v1]
> https://lore.kernel.org/lkml/20210729223610.29373-1-james.morse@arm.com
> /
> [v2]
> https://lore.kernel.org/lkml/20211001160302.31189-1-james.morse@arm.com
> /
> [v3]
> https://lore.kernel.org/lkml/20220217182110.7176-1-james.morse@arm.com/
> 
> 
> James Morse (21):
>   x86/resctrl: Kill off alloc_enabled
>   x86/resctrl: Merge mon_capable and mon_enabled
>   x86/resctrl: Add domain online callback for resctrl work
>   x86/resctrl: Group struct rdt_hw_domain cleanup
>   x86/resctrl: Add domain offline callback for resctrl work
>   x86/resctrl: Remove set_mba_sc()s control array re-initialisation
>   x86/resctrl: Create mba_sc configuration in the rdt_domain
>   x86/resctrl: Switch over to the resctrl mbps_val list
>   x86/resctrl: Remove architecture copy of mbps_val
>   x86/resctrl: Abstract and use supports_mba_mbps()
>   x86/resctrl: Allow update_mba_bw() to update controls directly
>   x86/resctrl: Calculate bandwidth from the previous __mon_event_count()
>     chunks
>   x86/resctrl: Add per-rmid arch private storage for overflow and chunks
>   x86/resctrl: Allow per-rmid arch private storage to be reset
>   x86/resctrl: Abstract __rmid_read()
>   x86/resctrl: Pass the required parameters into
>     resctrl_arch_rmid_read()
>   x86/resctrl: Move mbm_overflow_count() into resctrl_arch_rmid_read()
>   x86/resctrl: Move get_corrected_mbm_count() into
>     resctrl_arch_rmid_read()
>   x86/resctrl: Rename and change the units of resctrl_cqm_threshold
>   x86/resctrl: Add resctrl_rmid_realloc_limit to abstract x86's
>     boot_cpu_data
>   x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes
> 
>  arch/x86/kernel/cpu/resctrl/core.c        | 117 ++++-------
>  arch/x86/kernel/cpu/resctrl/ctrlmondata.c |  75 +++++---
>  arch/x86/kernel/cpu/resctrl/internal.h    |  61 +++---
>  arch/x86/kernel/cpu/resctrl/monitor.c     | 224
> ++++++++++++++--------
>  arch/x86/kernel/cpu/resctrl/pseudo_lock.c |   2 +-
>  arch/x86/kernel/cpu/resctrl/rdtgroup.c    | 212
> ++++++++++++++++----
>  include/linux/resctrl.h                   |  64 ++++++-
>  7 files changed, 493 insertions(+), 262 deletions(-)
> 
> --
> 2.30.2
I tested this patch series on Intel(R) Xeon(R) Gold 6254 CPU with resctrl selftest.
It is no problem.

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