On 01.12.2023 21:12, Andrew Cooper wrote:
> On 01/12/2023 7:59 pm, René Winther Højgaard wrote:
>> If I set smt=off and try to configure cpupools with credit(1) as if
>> all cores are available, I get the following crash.
>>
>> The crash happens when I try to use xl cpupool-add-cpu on the disabled
>> HT sibling cores.
>>
>> Hyper-threading is enabled in the firmware, and only disabled with
>> smt=off.
>
> CC'ing some maintainers.
>
> I expect this will also explode when a CPU is runtime offlined with
> `xen-hptool cpu-offline` and then added to a cpupool.
>
> Interestingly, the crash is mov (%rdx,%rax,1),%r13, and I think that's
> the percpu posion value in %rdx.
>
> I expect cpupools want to reject parked/offline CPUs.
While the only explicit check there is
if ( cpu >= nr_cpu_ids )
goto addcpu_out;
I would have expected this
if ( !cpumask_subset(cpus, &cpupool_free_cpus) ||
cpumask_intersects(cpus, &cpupool_locked_cpus) )
goto addcpu_out;
to deal with the situation, as parked/offline CPUs shouldn't be "free".
Jürgen?
Jan