From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: Re: [RFC] vhost: introduce mdev based hardware vhost backend Date: Wed, 11 Apr 2018 10:18:11 +0800 Message-ID: References: <20180402152330.4158-1-tiwei.bie@intel.com> <622f4bd7-1249-5545-dc5a-5a92b64f5c26@redhat.com> <20180410045723.rftsb7l4l3ip2ioi@debian> <7ee31a12-a370-fc43-82a6-2235f598e970@redhat.com> <20180410163105-mutt-send-email-mst@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Cc: Paolo Bonzini , "Bie, Tiwei" , "alex.williamson@redhat.com" , "ddutile@redhat.com" , "Duyck, Alexander H" , "virtio-dev@lists.oasis-open.org" , "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "netdev@vger.kernel.org" , "Daly, Dan" , "Wang, Zhihong" , "Tan, Jianfeng" , "Wang, Xiao W" To: "Liang, Cunming" , "Michael S. Tsirkin" Return-path: Sender: List-Post: List-Help: List-Unsubscribe: List-Subscribe: In-Reply-To: Content-Language: en-US List-Id: netdev.vger.kernel.org On 2018年04月10日 22:23, Liang, Cunming wrote: >> -----Original Message----- >> From: Michael S. Tsirkin [mailto:mst@redhat.com] >> Sent: Tuesday, April 10, 2018 9:36 PM >> To: Liang, Cunming >> Cc: Paolo Bonzini; Bie, Tiwei; >> Jason Wang;alex.williamson@redhat.com; >> ddutile@redhat.com; Duyck, Alexander H; >> virtio-dev@lists.oasis-open.org;linux-kernel@vger.kernel.org; >> kvm@vger.kernel.org;virtualization@lists.linux-foundation.org; >> netdev@vger.kernel.org; Daly, Dan; Wang, Zhihong >> ; Tan, Jianfeng; Wang, Xiao >> W >> Subject: Re: [virtio-dev] Re: [RFC] vhost: introduce mdev based hardware vhost >> backend >> >> On Tue, Apr 10, 2018 at 09:23:53AM +0000, Liang, Cunming wrote: >>>> -----Original Message----- >>>> From: Paolo Bonzini [mailto:pbonzini@redhat.com] >>>> Sent: Tuesday, April 10, 2018 3:52 PM >>>> To: Bie, Tiwei; Jason Wang >>>> >>>> Cc:mst@redhat.com;alex.williamson@redhat.com;ddutile@redhat.com; >>>> Duyck, Alexander H; >>>> virtio-dev@lists.oasis- open.org;linux-kernel@vger.kernel.org; >>>> kvm@vger.kernel.org;virtualization@lists.linux-foundation.org; >>>> netdev@vger.kernel.org; Daly, Dan; Liang, >>>> Cunming; Wang, Zhihong >>>> ; Tan, Jianfeng; >>>> Wang, Xiao W >>>> Subject: Re: [virtio-dev] Re: [RFC] vhost: introduce mdev based >>>> hardware vhost backend >>>> >>>> On 10/04/2018 06:57, Tiwei Bie wrote: >>>>>> So you just move the abstraction layer from qemu to kernel, and >>>>>> you still need different drivers in kernel for different device >>>>>> interfaces of accelerators. This looks even more complex than >>>>>> leaving it in qemu. As you said, another idea is to implement >>>>>> userspace vhost backend for accelerators which seems easier and >>>>>> could co-work with other parts of qemu without inventing new type of >> messages. >>>>> I'm not quite sure. Do you think it's acceptable to add various >>>>> vendor specific hardware drivers in QEMU? >>>> I think so. We have vendor-specific quirks, and at some point there >>>> was an idea of using quirks to implement (vendor-specific) live >>>> migration support for assigned devices. >>> Vendor-specific quirks of accessing VGA is a small portion. Other major portions >> are still handled by guest driver. >>> While in this case, when saying various vendor specific drivers in QEMU, it says >> QEMU takes over and provides the entire user space device drivers. Some parts >> are even not relevant to vhost, they're basic device function enabling. Moreover, >> it could be different kinds of devices(network/block/...) under vhost. No matter >> # of vendors or # of types, total LOC is not small. >>> The idea is to avoid introducing these extra complexity out of QEMU, keeping >> vhost adapter simple. As vhost protocol is de factor standard, it leverages kernel >> device driver to provide the diversity. Changing once in QEMU, then it supports >> multi-vendor devices whose drivers naturally providing kernel driver there. >>> If QEMU is going to build a user space driver framework there, we're open mind >> on that, even leveraging DPDK as the underlay library. Looking forward to more >> others' comments from community. >>> Steve >> Dependency on a kernel driver is fine IMHO. It's the dependency on a DPDK >> backend that makes people unhappy, since the functionality in question is setup- >> time only. > Agreed, we don't see dependency on kernel driver is a problem. At engineering level, kernel driver is harder than userspace driver. > > mdev based vhost backend (this patch set) is independent with vhost-user extension patch set. In fact, there're a few vhost-user providers, DPDK librte_vhost is one of them. FD.IO/VPP and snabbswitch have their own vhost-user providers. So I can't agree on vhost-user extension patch depends on DPDK backend. But anyway, that's the topic of another mail thread. > Well we can treat mdev as another kind of transport of vhost-user. And technically we can even implement a relay mdev than forward vhost-user messages to dpdk. Thanks