Re: [RFC PATCH] topology: Represent clusters of CPUs within a die.
From: Peter Zijlstra
Date: Mon Oct 19 2020 - 08:51:16 EST
On Mon, Oct 19, 2020 at 01:32:26PM +0100, Jonathan Cameron wrote:
> On Mon, 19 Oct 2020 12:35:22 +0200
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > I'm confused by all of this. The core level is exactly what you seem to
> > want.
>
> It's the level above the core, whether in an multi-threaded core
> or a single threaded core. This may correspond to the level
> at which caches are shared (typically L3). Cores are already well
> represented via thread_siblings and similar. Extra confusion is that
> the current core_siblings (deprecated) sysfs interface, actually reflects
> the package level and ignores anything in between core and
> package (such as die on x86)
That seems wrong. core-mask should be whatever cores share L3. So on a
Intel Core2-Quad (just to pick an example) you should have 4 CPU in a
package, but only 2 CPUs for the core-mask.
It just so happens that L3 and package were the same for a long while in
x86 land, although recent chips started breaking that trend.
And I know nothing about the core-mask being depricated; it's what the
scheduler uses. It's not going anywhere.
So if your 'cluster' is a group of single cores (possibly with SMT) that
do not share cache but have a faster cache connection and you want them
to behave as-if they were a multi-core group that did share cache, then
core-mask it is.