From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44616) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avgEn-0004Ay-4i for qemu-devel@nongnu.org; Thu, 28 Apr 2016 03:19:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1avgEj-0002cB-UY for qemu-devel@nongnu.org; Thu, 28 Apr 2016 03:19:49 -0400 Received: from mout.web.de ([212.227.15.3]:53948) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avgEj-0002c5-Kp for qemu-devel@nongnu.org; Thu, 28 Apr 2016 03:19:45 -0400 References: <1461827144-6937-1-git-send-email-peterx@redhat.com> From: Jan Kiszka Message-ID: <5721B980.4050903@web.de> Date: Thu, 28 Apr 2016 09:19:28 +0200 MIME-Version: 1.0 In-Reply-To: <1461827144-6937-1-git-send-email-peterx@redhat.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 00/18] IOMMU: Enable interrupt remapping for Intel IOMMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Xu , qemu-devel@nongnu.org Cc: imammedo@redhat.com, rth@twiddle.net, ehabkost@redhat.com, jasowang@redhat.com, marcel@redhat.com, mst@redhat.com, pbonzini@redhat.com, rkrcmar@redhat.com, alex.williamson@redhat.com, wexu@redhat.com On 2016-04-28 09:05, Peter Xu wrote: > v5 changes: > - patch 10: add vector checking for IOAPIC interrupts (this may help > debug in the future, will only generate warning if specify > IOMMU_DEBUG) > - patch 13: replace error_report() with a trace. [Jan] > - patch 14: rename parameter "intr" to "intremap", to be aligned > with kernel parameter [Jan] > - patch 15: fix comments for vtd_iec_notify_fn > - patch 17 & 18 (added): fix issue when IR enabled with devices > using level-triggered interrupts, like e1000. Adding it to the end > of series, since this issue never happen without IR. > > Patch 17 adds read-only check for IOAPIC entries. > Patch 18 clears remote IRR bit when entry configured as > edge-triggered. IIUC, your series does not address irqfd yet, only by chance if the target is an IOAPIC pin for which you set up routes now. Correct? Instead of fiddling with irq routes for the IOAPIC - where we don't need it -, I would suggest to do the following: Send IOAPIC events via kvm_irqchip_send_msi to the kernel. Only irqfd users (vhost, vfio) should use the pattern you are now applying to the IOAPIC: establish static routes as an irqfd is set up, and that route should be translated by the iommu first, register an IEC notifier to update any affected route when the iommu translation changes. Jan