Messages in this thread | | | Date | Fri, 3 Mar 2023 18:34:39 +0000 | Subject | Re: [PATCH v2 05/18] x86/resctrl: Allow RMID allocation to be scoped by CLOSID | From | James Morse <> |
| |
Hi Reinette,
On 02/02/2023 23:45, Reinette Chatre wrote: > On 1/13/2023 9:54 AM, James Morse wrote: >> MPAMs RMID values are not unique unless the CLOSID is considered as well. >> >> alloc_rmid() expects the RMID to be an independent number. >> >> Pass the CLOSID in to alloc_rmid(). Use this to compare indexes when >> allocating. If the CLOSID is not relevant to the index, this ends up >> comparing the free RMID with itself, and the first free entry will be >> used. With MPAM the CLOSID is included in the index, so this becomes a >> walk of the free RMID entries, until one that matches the supplied >> CLOSID is found. >> >> Tested-by: Shaopeng Tan <tan.shaopeng@fujitsu.com> >> Signed-off-by: James Morse <james.morse@arm.com> > > ... > >> /* >> - * As of now the RMIDs allocation is global. >> + * As of now the RMIDs allocation is the same in each domain.
> Could you please elaborate what is meant/intended with this change > (global vs per domain)? From the changelog a comment that RMID > allocation is the same in each resource group for MPAM may be > expected but per domain is not clear to me.
This is badly worded. It's referring to the limbo list management, while RMID=7 isn't unique on MPAM, the struct rmid_entry used in two domains will be the same because the CLOSID doesn't change. This means its still sufficient to move around the struct rmid_entry to manage the limbo list.
I think this had me confused because 'as of now' implies the RMID won't always be globally allocated, and MPAM has non-unique RMID/PMG values which are a different kind of global.
I'll change this to read: /* * For MPAM the RMID value is not unique, and has to be considered with * the CLOSID. The (CLOSID, RMID) pair is allocated on all domains, which * allows all domains to be managed by a single limbo list. * Each domain also has a rmid_busy_llc to reduce the work of the limbo handler. */
(seeing as the function doesn't touch rmid_budy_llc, or refer to it by name)
Thanks,
James
| |