From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3539CA0613 for ; Wed, 25 Sep 2019 16:28:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 936321BECF; Wed, 25 Sep 2019 16:28:24 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 97CCF1BECE for ; Wed, 25 Sep 2019 16:28:22 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Sep 2019 07:28:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,548,1559545200"; d="scan'208";a="188794618" Received: from dpdk-virtio-tbie-2.sh.intel.com (HELO ___) ([10.67.104.73]) by fmsmga008.fm.intel.com with ESMTP; 25 Sep 2019 07:28:20 -0700 Date: Wed, 25 Sep 2019 22:25:33 +0800 From: Tiwei Bie To: Jin Yu Cc: dev@dpdk.org, changpeng.liu@intel.com, maxime.coquelin@redhat.com, zhihong.wang@intel.com Message-ID: <20190925142533.GA24643@___> References: <20190917145234.16951> <20190920120102.29828-1-jin.yu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190920120102.29828-1-jin.yu@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v7 00/10] vhost: support inflight share memory protocol feature X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > [PATCH v7 00/10] vhost: support inflight share memory protocol feature This should be v8. Please increase the version number when sending a new series. Thanks, Tiwei On Fri, Sep 20, 2019 at 08:00:52PM +0800, Jin Yu wrote: > This patches introduces two new messages VHOST_USER_GET_INFLIGHT_FD > and VHOST_USER_SET_INFLIGHT_FD to support transferring a shared > buffer between qemu and backend. > Now It can both support split and packed ring. The example code show > how these API work. The test has passed. > > How to test the example: > 1, Qemu need two patches. > https://patchwork.kernel.org/patch/10766813/ > https://patchwork.kernel.org/patch/10861411/(QEMU merged) > it also needs some manual modifications: > we should confirm that before we send get inflight we have already > sent the set features but it seems Qemu didn't do like this. So we > manually revise this, we can add below code in vhost_dev_get_inflight > int r; > > r = vhost_dev_set_features(dev, dev->log_enabled); > if (r < 0) { > return -errno; > } > before get_inflight_fd. > 2, Guest OS version >= 5.0 > 3, run the example > 4, run the qemu with vhost-user-blk-pci. > eg: > -chardev socket,id=spdk_vhost_blk0,reconnect=1,path=xxxx\ > -device vhost-user-blk-pci,ring_packed=on,chardev=spdk_vhost_blk0,num-queues=1\ > 5, run fio in the guest > 6, kill the example and run again. > 7, the fio in the guest should continue run without errors. > > Jin Yu (10): > vhost: add the inflight description > vhost: add packed ring > vhost: add the inflight structure > vhost: add two new messages to support a shared buffer > vhost: checkout the resubmit inflight information > vhost: add the APIs to operate inflight ring > vhost: add APIs for user getting inflight ring > vhost: add vring functions packed ring support > vhost: add an API for judging vq format > vhost: add vhost-user-blk example which support inflight > > examples/vhost_blk/Makefile | 67 ++ > examples/vhost_blk/blk.c | 125 +++ > examples/vhost_blk/blk_spec.h | 95 ++ > examples/vhost_blk/meson.build | 20 + > examples/vhost_blk/vhost_blk.c | 1313 ++++++++++++++++++++++++ > examples/vhost_blk/vhost_blk.h | 116 +++ > examples/vhost_blk/vhost_blk_compat.c | 195 ++++ > lib/librte_vhost/rte_vhost.h | 250 ++++- > lib/librte_vhost/rte_vhost_version.map | 9 + > lib/librte_vhost/vhost.c | 416 +++++++- > lib/librte_vhost/vhost.h | 16 + > lib/librte_vhost/vhost_user.c | 470 ++++++++- > lib/librte_vhost/vhost_user.h | 12 +- > 13 files changed, 3091 insertions(+), 13 deletions(-) > create mode 100644 examples/vhost_blk/Makefile > create mode 100644 examples/vhost_blk/blk.c > create mode 100644 examples/vhost_blk/blk_spec.h > create mode 100644 examples/vhost_blk/meson.build > create mode 100644 examples/vhost_blk/vhost_blk.c > create mode 100644 examples/vhost_blk/vhost_blk.h > create mode 100644 examples/vhost_blk/vhost_blk_compat.c > > -- > 2.17.2 >