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

Dietmar Eggemann dietmar.eggemann at arm.com
Fri Sep 11 07:15:42 PDT 2026


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.

[...]



More information about the linux-arm-kernel mailing list