[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <29a01140-a6dc-49a2-8ef8-ba0cef5b1d6e@arm.com>
Date: Fri, 28 Feb 2025 19:55:37 +0000
From: James Morse <james.morse@....com>
To: Reinette Chatre <reinette.chatre@...el.com>, x86@...nel.org,
linux-kernel@...r.kernel.org
Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>, H Peter Anvin <hpa@...or.com>,
Babu Moger <Babu.Moger@....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>,
Shaopeng Tan <tan.shaopeng@...fujitsu.com>, Tony Luck <tony.luck@...el.com>
Subject: Re: [PATCH v6 18/42] x86/resctrl: Move the is_mbm_*_enabled() helpers
to asm/resctrl.h
Hi Reinette,
On 19/02/2025 23:55, Reinette Chatre wrote:
> 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.
>> 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.
Thanks - that was evidently a rebase conflict I messed up!
James
Powered by blists - more mailing lists