On Thu, Sep 22, 2016 at 07:59:08AM -0400, Prarit Bhargava wrote:
> System boots with (usually) with 2 threads/core. Some performance users want
> one thread per core. Since there is no "noht" option anymore, users use /sys
> disable a thread on each core.
> core_siblings and thread_siblings are the online thread's sibling cores and
> threads that are available to the scheduler
Hmm, I see something else:
internal kernel map of cpuX's hardware threads within the same
> and should be 0 when the thread is offline. That comes directly from
> reading the code.
But then code which reads those will have to *know* that those cores are
offline - otherwise it would be confused by what it is reading there.
For example, the core siblings of an offlined core are still the same,
they don't change. It is just the core that is offline.
> See commit 20102ac5bee3 ("cpupower: cpupower monitor reports uninitialized
> values for offline cpus"). That patch papers over the bug of not being able
> find core_id and physical_package_id for an offline thread.
Right, and this is *exactly* the *right* thing to do - tools should
handle the case gracefully when cores are offline.
And we already state that explicitly in /sys/devices/system/cpu/online.
And for offlined cores they should show exactly that - cores
are offlined and either say that the measurement is going to be
wrong/innacurate or if they're showing per-core info, they don't show it
for the offlined cores or show special symbols like stars and whatnot.
So far I still see no need for changing anything in the kernel.
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284