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

Reply via email to