Re: [PATCH 10/10] irqchip/gic-v4: Make the doorbells managed affinity interrupts

From: Marc Zyngier
Date: Thu Oct 12 2017 - 10:39:00 EST


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...