On 12/10/17 10:22, Thomas Gleixner wrote:
> On Tue, 10 Oct 2017, Marc Zyngier wrote:
>>  int its_alloc_vcpu_irqs(struct its_vm *vm)
>>  {
>>      int vpe_base_irq, i;
>>  
>> +    vm->affinity_masks = kzalloc(vm->nr_vpes * sizeof(*vm->affinity_masks),
>> +                                 GFP_KERNEL);
>> +    if (!vm->affinity_masks)
>> +            goto err;
>> +
>> +    for (i = 0; i < vm->nr_vpes; i++) {
>> +            if (!alloc_cpumask_var(&vm->affinity_masks[i], GFP_KERNEL))
>> +                    goto err;
>> +
>> +            cpumask_copy(vm->affinity_masks[i], cpu_possible_mask);
> 
> That looks a bit like abuse of managed interrupts as you don't use any of
> the managing parts, i.e. the managed shutdown/startup on cpu hotplug.
> 
> You can prevent user space from fiddling with the affinities by flagging
> these interrupts with IRQ_NO_BALANCING.

I had a look at that initially, and can't remember what I discounted
it... This is obviously a much simpler approach (just an additional flag
as we initialize the vcpus).

I'll drop that patch and post another one.

Thanks,

        M.
-- 
Jazz is not dead. It just smells funny...

Reply via email to