Received: by 10.192.165.156 with SMTP id m28csp183112imm; Tue, 10 Apr 2018 19:21:42 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/qV56woKNSwd1OCxJRra16Y7q/cXlQErlRkwX2yOrW1WVu25Zbnprk6AOoLm6NEg2vrUQt X-Received: by 10.101.74.146 with SMTP id b18mr1983045pgu.26.1523413302211; Tue, 10 Apr 2018 19:21:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523413302; cv=none; d=google.com; s=arc-20160816; b=VzxHoeKZxAsCMWQc4J5QuipUJhbjLJf8gBiJCwVtsOYRV3TZDEXltufOhpFTk05cO4 3O+x+L5PVf6RtZWWDljwAT4oLEaIhEtOkriFCeK2xa3xwKuRKG8zjLSGKbwbOgszCLVJ LukgwfqCt+0L5U+0P2BLgGrslBRQ8EzYV8hJkT+awLNpA7viF7YSjrYtdYAY11JrU1IM +vrvht7HxAKVklPRSAija3zIbP5Dj64RBeDrT9F7V7FzH0Sl6aVEDDvTkdb05Z0keAHi AfVDxZwSzyNiNcago6KcKESJx2VztnGt14vxZJ4CfGl9Z2p9TMIedczvLb94s/ttG6aD QOeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=DG/b2gOHbEbVbebJ6605j3mhT6/GztKLWXayyDqfhSo=; b=VgjlGinrWOsFFK3BgDIH/d/g9AqVKhvgEKWmU/kn+ifrqjvC0NCmw7OlKbnLGNb+aK Fka2R3Chk2e7DIQHD/fhRpSoynHGe76xy0liunCfFymFpZUs/d8aQ8+z0sqnOr3ZA4Ce PF5uU2oKLdy/Lxxfs8BxmLAIhN5pB6w8O2Uc7kQM424eclXNbbIfE0SHMmrsUg6I+CpU GN5+Zwx0P/dvW8y7Hf+roLRgehMUqHp5owBnOELybPQST4vWlayURXN11Fhl4ghNh/oG YZqXUyOgfLpVRsz9goBwhGBBQkZhZF6+Ot9QEAE4IV+Vy1hhKTOiwKvevbBOD5LfO9IM g7Bw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b96-v6si69994pli.407.2018.04.10.19.21.05; Tue, 10 Apr 2018 19:21:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752853AbeDKCSY (ORCPT + 99 others); Tue, 10 Apr 2018 22:18:24 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:49662 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752298AbeDKCSW (ORCPT ); Tue, 10 Apr 2018 22:18:22 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C12C3406803E; Wed, 11 Apr 2018 02:18:21 +0000 (UTC) Received: from [10.72.12.115] (ovpn-12-115.pek2.redhat.com [10.72.12.115]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5A1D82024CA4; Wed, 11 Apr 2018 02:18:13 +0000 (UTC) Subject: Re: [virtio-dev] Re: [RFC] vhost: introduce mdev based hardware vhost backend To: "Liang, Cunming" , "Michael S. Tsirkin" 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" 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> From: Jason Wang Message-ID: Date: Wed, 11 Apr 2018 10:18:11 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Wed, 11 Apr 2018 02:18:21 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Wed, 11 Apr 2018 02:18:21 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'jasowang@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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