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

From: Jan Kiszka
Date: Wed Aug 17 2016 - 10:37:19 EST


On 2016-08-15 14:37, Paolo Bonzini wrote:
> 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.

So does Jailhouse. We have to have the code anyway because we need to
keep Linux alive after taking over control. Thus it is actually easier
to reuse the same logic for para-virtualized domains (non-root cells).

Jan

--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux