[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86658d9d-0d8b-d39c-2245-8614b0efc2bc@arm.com>
Date: Thu, 24 Aug 2023 17:52:01 +0100
From: James Morse <james.morse@....com>
To: Fenghua Yu <fenghua.yu@...el.com>, x86@...nel.org,
linux-kernel@...r.kernel.org
Cc: Reinette Chatre <reinette.chatre@...el.com>,
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,
xingxin.hx@...nanolis.org, baolin.wang@...ux.alibaba.com,
Jamie Iles <quic_jiles@...cinc.com>,
Xin Hao <xhao@...ux.alibaba.com>, peternewman@...gle.com,
dfustini@...libre.com
Subject: Re: [PATCH v5 04/24] x86/resctrl: Move rmid allocation out of
mkdir_rdt_prepare()
Hi Fenghua,
On 15/08/2023 01:50, Fenghua Yu wrote:
> On 7/28/23 09:42, James Morse wrote:
>> RMID are allocated for each monitor or control group directory, because
>> each of these needs its own RMID. For control groups,
>> rdtgroup_mkdir_ctrl_mon() later goes on to allocate the CLOSID.
>>
>> MPAM's equivalent of RMID is not an independent number, so can't be
>> allocated until the CLOSID is known. An RMID allocation for one CLOSID
>> may fail, whereas another may succeed depending on how many monitor
>> groups a control group has.
>>
>> The RMID allocation needs to move to be after the CLOSID has been
>> allocated.
>>
>> Move the RMID allocation out of mkdir_rdt_prepare() to occur in its caller,
>> after the mkdir_rdt_prepare() call. This allows the RMID allocator to
>> know the CLOSID.
>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> index e7178bbbd30f..7c5cfb373d03 100644
>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> @@ -3336,10 +3344,17 @@ static int rdtgroup_mkdir_ctrl_mon(struct kernfs_node *parent_kn,
>> ret = 0;
>> rdtgrp->closid = closid;
>> - ret = rdtgroup_init_alloc(rdtgrp);
>> - if (ret < 0)
>> +
>> + ret = mkdir_rdt_prepare_rmid_alloc(rdtgrp);
>> + if (ret)
>> goto out_id_free;
>
> Is it better to change "out_id_free" to "out_closid_free"?
> It's not confused to name it "out_id_free" because only closid is freed.
> But this patch introduces new "rmid" free. So it's better to rename the label to
> "out_closid_free" and it matches the following "out_rmid_free" as well.
Yup, makes sense. I only left the existing code alone to avoid too much churn. This way is
much more readable.
Thanks,
James
Powered by blists - more mailing lists