On 08/07/2016 18:01, Radim Krčmář wrote:
> 2016-07-05 16:19+0800, Peter Xu:
>> This is v11 of Intel IR work. It is rebased to mst's branch
>> "tags/for_upstream", commit:
>>
>>   "278a2a2 vmw_pvscsi: remove unnecessary internal msi state flag"
>>
>> This series mainly fixed several issues in v10 review comments, fixed
>> one bug with RHEL guests, added acked-by for Paolo, and a fresh new
>> rebase as mentioned above.
>>
>> To make it fast, I only did quick tests for this versiont. But at
>> least it should cover basic functions like: IOAPIC, MSI, multiple
>> vcpus, different guests (4.7 upstream and rhel 7.2), vhost, split/off
>> irqchips. More tests to be done.
>>
>> Meanwhile, there are several pending issues to be solved, which is
>> queued in my todo list and I'll continue the work after this series is
>> merged.
>>
>> Online branch:
>>
>>   https://github.com/xzpeter/qemu vtd-intr-v11
>>
>> Please review, thanks.
> 
> Testing found only one bug:
> 
> The patchset doesn't work with if you have 16 APICs with IDs 0-15 and
> then some more, because KVM has hacked x2APIC support that translates
> logical interrupt with destination 0xff (first cluster of 16 VCPUs) into
> a broadcast (also works with lowest-priority) and then picks VCPU > 16
> as the destination, leading to messages like
> 
>   do_IRQ: 17.209 No irq handler for vector
> 
> The fun part is that this is how KVM wanted to behave, when it allowed
> x2apic with unremapped ioapic. :(
> KVM could either finally remove x2apic without IR or add a way in which
> userspace could say whether an interrupt is x2APIC or not.
> 
> QEMU cannot do anything to work around the bug, so I think it would be
> best to disable EIM for now.

What's the state of QEMU support for KVM_CAP_X2APIC_API?  If it can make
it for hard freeze, it's not a showstopper for Peter's patch.

Thanks,

Paolo

Reply via email to