On Wed, Apr 26, 2017 at 04:19:07PM +0200, Paolo Bonzini wrote:
On 26/04/2017 11:36, Peter Xu wrote:
>> Possible values are off, split or on.
> Hi, Ján,
>
> Thanks you for cced me. One tiny comment on irqchip mode...
>
> Here could user specify irqchip=off from libvirt side? IIUC that might
> be dangerous since userspace APIC should only be for debugging purpose
> (when kernel-irqchip=off, we'll be using userspace APIC, not kernel
> one, and iirc Paolo mentioned known bugs in userspace APIC). So imho
> we'd better not allow user to use "off", but only "on" and
"split".
>
> CCing Paolo here in case he has any comment on this.
Allowing "off" may be okay as long as it taints the domain.
If it's only useful for debugging, I can drop "off" from the XML
completely.
In the end, irqchip mode is a feature of the APIC/IOAPIC/PIC/PIT, and
even more specifically:
- for kernel-irqchip=off, the distinguishing feature is in-kernel vs.
userspace APIC.
- for kernel-irqchip=split, what we really care about is userspace IOAPIC.
So perhaps another choice for the XML is:
<features>
<apic driver='qemu|kvm'/>
<ioapic driver='qemu|kvm'/>
</features>
where (apic:qemu,ioapic:kvm) is invalid?
And if apic:qemu,ioapic:qemu is only for debugging, the <apic> element
can be dropped too.
'ioapic' is also more specific (so if kernel-irqchip starts to be useful
on other archs, libvirt might need a new element?).
I'm considering sticking the attribute to the already-existing apic
element:
<apic mode='kernel|split'/>
But I don't really like any of the options.
Jan