Re: [PATCH v2 00/23] x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes

From: Babu Moger
Date: Tue Oct 19 2021 - 19:17:12 EST


Hi James,
Thanks for the patches. Sanity tested on AMD box. Found one problem and
added few comments.
thanks
Babu

On 10/1/21 11:02 AM, James Morse wrote:
> Hello!
>
> Patches 1&2 have been posted independently in case they are wanted as fixes.
>
> The major change in this version is when the mba_mbps[] array is allocated.
>
> ---
> 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.15-rc3, and can be retrieved from:
> git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/resctrl_monitors_in_bytes/v2
>
> [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@xxxxxxx/
>
> [v1] https://lore.kernel.org/lkml/20210729223610.29373-1-james.morse@xxxxxxx/
>
>
> Thanks,
>
> James Morse (23):
> x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state()
> fails
> x86/resctrl: Fix kfree() of the wrong type in domain_add_cpu()
> 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: 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: Remove set_mba_sc()s control array re-initialisation
> 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/recstrl: Add per-rmid arch private storage for overflow and chunks
> x86/recstrl: 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 | 116 ++++--------
> arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 75 +++++---
> arch/x86/kernel/cpu/resctrl/internal.h | 62 +++----
> arch/x86/kernel/cpu/resctrl/monitor.c | 200 ++++++++++++--------
> arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 2 +-
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 217 ++++++++++++++++++----
> include/linux/resctrl.h | 60 +++++-
> 7 files changed, 480 insertions(+), 252 deletions(-)
>

--
Thanks
Babu Moger