Re: [PATCH 1/2] arm64: topology: Prefer PE0 on NVIDIA Olympus SMT cores

From: Dietmar Eggemann

Date: Fri Sep 11 2026 - 10:30:27 EST


On 11.09.26 11:11, Andrea Righi wrote:
> Hi Dietmar,
>
> On Thu, Sep 10, 2026 at 12:11:06PM +0200, Dietmar Eggemann wrote:
>> On 09.09.26 18:17, Andrea Righi wrote:
>>> On Wed, Sep 09, 2026 at 05:19:08PM +0200, Dietmar Eggemann wrote:
>>>> On 09.09.26 08:26, Andrea Righi wrote:

[...]
> I think we can avoid an arm64 override entirely and rely on the default
> implementation:
>
> int __weak arch_asym_cpu_priority(int cpu)
> {
> return -cpu;
> }
>
> The boot option would only add SD_ASYM_PACKING to the SMT domain. A rough
> prototype could look like this in kernel/sched/topology.c:
>
> static bool sched_smt_asym_packing __read_mostly;
>
> static int __init setup_sched_smt_asym_packing(char *str)
> {
> sched_smt_asym_packing = true;
> return 1;
> }
> __setup("sched_smt_asym_packing", setup_sched_smt_asym_packing);
>
> int cpu_smt_flags(void)
> {
> int flags = SD_SHARE_CPUCAPACITY | SD_SHARE_LLC;
>
> if (sched_smt_asym_packing)
> flags |= SD_ASYM_PACKING;
>
> return flags;
> }
>
> This would make the option generic rather than specific to arm64 or Olympus.
Ah, OK, no arm64 private 'struct sched_domain_topology_level
arm64_asym_smt_topology[]' anymore.

[...]