Re: [tip: sched/core] sched/fair: Multi-LLC select_idle_sibling()

From: Peter Zijlstra
Date: Fri Jun 02 2023 - 07:23:59 EST


On Fri, Jun 02, 2023 at 02:36:37PM +0530, Gautham R. Shenoy wrote:

> Yes, this is what the topology looks like
>
> |---------------------------------------------------------------------------------|
> | |
> | ----------- ----------- ----------- ----------- ----------- ----------- |
> | |(0-7) | |(8-15) | |(16-23) | |(48-55) | |(56-63) | |(64-71) | |
> | | LLC0 | | LLC1 | | LLC2 | | LLC6 | | LLC7 | | LLC8 | |
> | |(96-103) | |(104-111)| |(112-119)| |(144-151)| |(152-159)| |(160-167)| |
> | ----------- ----------- ----------- ----------- ----------- ----------- |
> | |
> | |
> | ----------- ----------- ----------- ----------- ----------- ----------- |
> | |(24-31) | |(32-39) | |(40-47) | |(72-79) | |(80-87) | |(88-95) | |
> | | LLC3 | | LLC4 | | LLC5 | | LLC9 | | LLC10 | | LLC11 | |
> | |(120-127)| |(128-135)| |(136-143)| |(168-175)| |(176-183)| |(184-191)| |
> | ----------- ----------- ----------- ----------- ----------- ----------- |
> | |
> |---------------------------------------------------------------------------------|

Yup, that's the pictures I found online.

> > I would think it is the latter since NPS4 does that but let me go verify.
>
> 2 groups of 6 each is the vertical split which is NPS2.
>
> 4 groups of 3 each is the vertical and horizontal split, which is
> NPS4.
>
> In both these cases, currently the domain hierarchy
>
> SMT --> MC --> NODE --> NUMA
>
> where the NODE will be the parent of MC and be the 2nd level wakeup domain.
>
> If we define CLS to be the group with 3 LLCs, which becomes the parent
> of the MC domain, then, the hierarchy would be
>
> NPS1 : SMT --> MC --> CLS --> DIE
> NPS2 : SMT --> MC --> CLS --> NODE --> NUMA
> NPS4 : SMT --> MC --> CLS --> NUMA
>
> NPS2 will have 5 domains within a single socket. Oh well!

I think cluster/CLS is taken for L2, we should not re-purpose that for
groups of L3.

Anyway, yes, 5 levels. Shouldn't be a problem though, right?