Re: [PATCH v6 18/42] x86/resctrl: Move the is_mbm_*_enabled() helpers to asm/resctrl.h

From: Reinette Chatre
Date: Wed Feb 19 2025 - 18:56:12 EST


Hi James,

On 2/7/25 10:17 AM, James Morse wrote:
> The architecture specific parts of resctrl provide helpers like
> is_mbm_total_enabled() and is_mbm_local_enabled() to hide accesses
> to the rdt_mon_features bitmap.
>
> Exposing a group of helpers between the architecture and filesystem code
> is preferable to a single unsigned-long like rdt_mon_features. Helpers
> can be more readable and have a well defined behaviour, while allowing
> architectures to hide more complex behaviour.
>
> Once the filesystem parts of resctrl are moved, these existing helpers can
> no longer live in internal.h. Move them to include/linux/resctrl.h
> Once these are exposed to the wider kernel, they should have a
> 'resctrl_arch_' prefix, to fit the rest of the arch<->fs interface.
>
> Move and rename the helpers that touch rdt_mon_features directly.
> is_mbm_event() and is_mbm_enabled() are only called from rdtgroup.c,
> so can be moved into that file.
>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> Tested-by: Carl Worth <carl@xxxxxxxxxxxxxxxxxxxxxx> # arm64
> Tested-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx>
> Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---

...

> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> index 1730ba814834..b7d93670ed94 100644
> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c

...

> @@ -761,6 +761,9 @@ static void update_mba_bw(struct rdtgroup *rgrp, struct rdt_mon_domain *dom_mbm)
> struct rdtgroup *entry;
> u32 cur_bw, user_bw;
>
> + if (!resctrl_arch_is_mbm_local_enabled())
> + return;
> +
> r_mba = resctrl_arch_get_resource(RDT_RESOURCE_MBA);
> evt_id = rgrp->mba_mbps_event;
>

Please drop this hunk. A new [1] resctrl feature makes it possible for software
controller to work with local as well as total bandwidth events.

Reinette

[1] https://lore.kernel.org/all/20241206163148.83828-1-tony.luck@xxxxxxxxx/