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.