Re: [PATCH] Revert "intel_idle: Rescan "dead" SMT siblings during, initialization"

From: Christian Loehle
Date: Thu Aug 28 2025 - 17:44:53 EST


On 8/28/25 20:06, Rafael J. Wysocki wrote:
> On Thu, Aug 28, 2025 at 6:13 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>>
>> On Thu, Aug 28, 2025 at 4:44 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>>>
>>> On Thu, Aug 28, 2025 at 4:26 PM Christian Loehle
>>> <christian.loehle@xxxxxxx> wrote:
>>>>
>>>> This reverts commit a430c11f401589a0f4f57fd398271a5d85142c7a.
>>>>
>>>> Calling arch_cpu_rescan_dead_smt_siblings() in intel_idle_init with
>>>> boot parameter nosmt and maxcpus active hotplugged boot-offline CPUs
>>>> in (and leave them online) which weren't supposed to be online.
>>>>
>>>> With the revert and nosmt and maxcpus=12 on a raptor lake:
>>>> cpu online capacity
>>>> cpu0 1 1009
>>>> cpu1 0 -
>>>> cpu2 1 1009
>>>> cpu3 0 -
>>>> cpu4 1 1009
>>>> cpu5 0 -
>>>> cpu6 1 1009
>>>> cpu7 0 -
>>>> cpu8 1 1024
>>>> cpu9 0 -
>>>> cpu10 1 1024
>>>> cpu11 0 -
>>>> cpu12 1 1009
>>>> cpu13 0 -
>>>> cpu14 1 1009
>>>> cpu15 0 -
>>>> cpu16 1 623
>>>> cpu17 1 623
>>>> cpu18 1 623
>>>> cpu19 1 623
>>>> cpu20 0 -
>>>> cpu21 0 -
>>>> cpu22 0 -
>>>> cpu23 0 -
>>>>
>>>> Previously:
>>>> cpu online capacity
>>>> cpu0 1 1009
>>>> cpu1 0 -
>>>> cpu2 1 1009
>>>> cpu3 0 -
>>>> cpu4 1 1009
>>>> cpu5 0 -
>>>> cpu6 1 1009
>>>> cpu7 0 -
>>>> cpu8 1 1024
>>>> cpu9 0 -
>>>> cpu10 1 1024
>>>> cpu11 0 -
>>>> cpu12 1 1009
>>>> cpu13 0 -
>>>> cpu14 1 1009
>>>> cpu15 0 -
>>>> cpu16 1 623
>>>> cpu17 1 623
>>>> cpu18 1 623
>>>> cpu19 1 623
>>>> cpu20 1 623
>>>> cpu21 1 623
>>>> cpu22 1 623
>>>> cpu23 1 623
>>>>
>>>> Signed-off-by: Christian Loehle <christian.loehle@xxxxxxx>
>>>> ---
>>>> Rafael, I don't immediately see how to fix this properly so I won't
>>>> try to, feel free to treat this as a bug report.
>>>
>>> Sure, thanks for reporting this!
>>>
>>> Well, I think that cpuhp_smt_enable() is missing a check. It looks to
>>> me like it should do the topology_is_primary_thread(cpu) check like
>>> cpuhp_smt_disable().
>>>
>>> I'll cut a test patch for this later.
>>
>> Something like the attached one, perhaps. I haven't tested it yet,
>> but I'll do that later.
>
> Works here AFAICS, but my test system is not hybrid.

Yep, on my end as well, thanks!
Tested-by: Christian Loehle <christian.loehle@xxxxxxx>