[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