Thread (13 messages) flat view 13 messages, 4 authors, 2020-08-06

Re: [PATCH 2/2] powerpc/topology: Override cpu_smt_mask

From: Valentin Schneider <hidden>
Date: 2020-08-04 11:03:40
Also in: lkml

On 04/08/20 11:46, peterz@infradead.org wrote:
On Tue, Aug 04, 2020 at 09:03:07AM +0530, Srikar Dronamraju wrote:
quoted
On Power9 a pair of cores can be presented by the firmware as a big-core
for backward compatibility reasons, with 4 threads per (small) core and 8
threads per big-core. cpu_smt_mask() should generally point to the cpu mask
of the (small)core.

In order to maintain userspace backward compatibility (with Power8 chips in
case of Power9) in enterprise Linux systems, the topology_sibling_cpumask
has to be set to big-core. Hence override the default cpu_smt_mask() to be
powerpc specific allowing for better scheduling behaviour on Power.
Why does Linux userspace care about this?
Ditto; from [1], a core contains CPUs that all share the same L1 (and capacity,
as per SD_SHARE_CPUCAPACITY). So IMO it makes perfect sense to have a first
domain spanning L1, and its parent spanning L2 - that means
topology_sibling_cpumask *itself* should span a single core rather than a
pair.

[1]: https://lkml.kernel.org/r/jhjr1sviswg.mognet@arm.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help