Re: [PATCH 1/1] x86/apic: Introduce paravirq irq_domain

From: Paolo Bonzini
Date: Mon Aug 15 2016 - 08:37:43 EST




On 15/08/2016 13:51, Alexander Popov wrote:
> On 13.08.2016 09:20, Paolo Bonzini wrote:
>> On 13/08/2016 00:07, Alexander Popov wrote:
>>> I.e. our irq_mask()/irq_unmask() callbacks get irq_desc of the interrupt
>>> which should be masked/unmasked and can ask the hypervisor to stop/start
>>> injecting the vector of that particular interrupt.
>>
>> So just let the irqdomain know about your hypervisor and avoid the
>> pointless indirection through function pointers, and only call
>> arch_init_paravirq_domain in a file specific to your hypervisor.
>
> Paolo, I would like paravirq irq_domain to be useful for many hypervisors,
> not only for one developed by Positive Technologies.

If somebody else comes up with similar needs, leave the generalization
of the code to them. The maintainers will surely remember. Without two
users, there's a nonzero chance that the abstraction you have is not
good enough, and actually gets in the way of the "second user".

> It seems to me that the idea of an irq_domain for interrupts injected
> by a hypervisor is quite generic.

True, but all of Xen, KVM and VMware use PCI devices for this.

Paolo