From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49923) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bLYDl-0001mb-US for qemu-devel@nongnu.org; Fri, 08 Jul 2016 12:01:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bLYDg-0000UU-8N for qemu-devel@nongnu.org; Fri, 08 Jul 2016 12:01:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56229) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bLYDg-0000UJ-2a for qemu-devel@nongnu.org; Fri, 08 Jul 2016 12:01:36 -0400 Date: Fri, 8 Jul 2016 18:01:30 +0200 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Message-ID: <20160708160129.GA10792@potion> References: <1467706769-12505-1-git-send-email-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1467706769-12505-1-git-send-email-peterx@redhat.com> Subject: Re: [Qemu-devel] [PATCH v11 00/28] IOMMU: Enable interrupt remapping for Intel IOMMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Xu Cc: qemu-devel@nongnu.org, ehabkost@redhat.com, mst@redhat.com, jasowang@redhat.com, alex.williamson@redhat.com, jan.kiszka@web.de, wexu@redhat.com, pbonzini@redhat.com, marcel@redhat.com, imammedo@redhat.com, davidkiarie4@gmail.com, rth@twiddle.net 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.