From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cRAeG-0003b5-Aj for qemu-devel@nongnu.org; Tue, 10 Jan 2017 23:36:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cRAeD-0000hW-71 for qemu-devel@nongnu.org; Tue, 10 Jan 2017 23:36:32 -0500 Received: from mx1.redhat.com ([209.132.183.28]:41928) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cRAeD-0000gc-0s for qemu-devel@nongnu.org; Tue, 10 Jan 2017 23:36:29 -0500 References: <1484109132-3331-1-git-send-email-jasowang@redhat.com> From: Jason Wang Message-ID: Date: Wed, 11 Jan 2017 12:36:21 +0800 MIME-Version: 1.0 In-Reply-To: <1484109132-3331-1-git-send-email-jasowang@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V4 net-next] vhost_net: device IOTLB support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, mst@redhat.com Cc: peterx@redhat.com, cornelia.huck@de.ibm.com, wexu@redhat.com, vkaplans@redhat.com, pbonzini@redhat.com On 2017=E5=B9=B401=E6=9C=8811=E6=97=A5 12:32, Jason Wang wrote: > This patches implements Device IOTLB support for vhost kernel. This is > done through: > > 1) switch to use dma helpers when map/unmap vrings from vhost codes > 2) introduce a set of VhostOps to: > - setting up device IOTLB request callback > - processing device IOTLB request > - processing device IOTLB invalidation > 2) kernel support for Device IOTLB API: > > - allow vhost-net to query the IOMMU IOTLB entry through eventfd > - enable the ability for qemu to update a specified mapping of vhost > - through ioctl. > - enable the ability to invalidate a specified range of iova for the > device IOTLB of vhost through ioctl. In x86/intel_iommu case this is > triggered through iommu memory region notifier from device IOTLB > invalidation descriptor processing routine. > > With all the above, kernel vhost_net can co-operate with userspace > IOMMU. For vhost-user, the support could be easily done on top by > implementing the VhostOps. > > Cc: Michael S. Tsirkin > Signed-off-by: Jason Wang > --- > Changes from V4: > - set iotlb callback only when IOMMU_PLATFORM is negotiated (fix > vhost-user qtest failure) > - whitelist VIRTIO_F_IOMMU_PLATFORM instead of manually add it > - keep cpu_physical_memory_map() in vhost_memory_map() > --- Note: the patch is for qemu not net-next :)