From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [PATCH v2 5/7] net/virtio_user: add vhost kernel support Date: Wed, 4 Jan 2017 15:46:35 +0800 Message-ID: <20170104074635.GL21228@yliu-dev.sh.intel.com> References: <1480689075-66977-1-git-send-email-jianfeng.tan@intel.com> <1482477266-39199-1-git-send-email-jianfeng.tan@intel.com> <1482477266-39199-6-git-send-email-jianfeng.tan@intel.com> <20161226074437.GD19288@yliu-dev.sh.intel.com> <59e32f20-fe7a-20ad-1aa6-99fc90322a42@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, ferruh.yigit@intel.com, cunming.liang@intel.com To: "Tan, Jianfeng" Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 3A525F63E for ; Wed, 4 Jan 2017 08:44:49 +0100 (CET) Content-Disposition: inline In-Reply-To: <59e32f20-fe7a-20ad-1aa6-99fc90322a42@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jan 04, 2017 at 03:22:08PM +0800, Tan, Jianfeng wrote: > > Sorry, I forget to reply this comment. > > On 12/26/2016 3:44 PM, Yuanhan Liu wrote: > >[...] > >>+ > >>+ /* Does not work when VIRTIO_F_IOMMU_PLATFORM now, why? */ > >Because this feature need the vhost IOTLB support from the device > >emulation. Patches for QEMU hasn't been merged yet, but it has been > >there for a while. > > Yes. And it's in need of help from QEMU. > > > > >Since we don't have the support yet, for sure it won't work. But > >I'm wondering why you have to disable it explicitly? > > Here we do not have QEMU. Frontend driver talks with vhost-net through > virtio_user_dev. And both ends claim to support VIRTIO_F_IOMMU_PLATFORM. So > this feature bit will be negotiated if we don't explicitly disable it. In my > previous test, it fails in vhost_init_device_iotlb() of vhost kernel module. > My guess is that, for this feature, without the help of QEMU, vhost kernel > module cannot work independently. The negotiation is a work between the driver, the device and the vhost backend. If the device doesn't claim to support it, how could it be nenogitated. Think that way, does old QEMU (that doesn't support this feature) disable this feature explicitly? No. Then why do we have to do that? --yliu