Re: [RFC PATCH] topology: Represent clusters of CPUs within a die.

From: Brice Goglin
Date: Mon Oct 19 2020 - 09:12:39 EST



Le 19/10/2020 à 14:50, Peter Zijlstra a écrit :
> 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.


Only the sysfs filenames are deprecated:

thread_siblings -> core_cpus

core_siblings -> package_cpus

New names reflect better what has been implemented/documented in the
past (core_siblings=package_cpus are processors with same physical
package id). And that's indeed different from the core-mask you are
talking about above with Core2-Quad (that one has never been exposed
anywhere in sysfs, except in the L3 cpumap).

Brice