[dpdk-dev] [PATCH v7 00/10] vhost: support inflight share memory protocol feature
Yu, Jin
jin.yu at intel.com
Thu Sep 26 16:00:54 CEST 2019
> -----Original Message-----
> From: Bie, Tiwei
> Sent: Wednesday, September 25, 2019 10:26 PM
> To: Yu, Jin <jin.yu at intel.com>
> Cc: dev at dpdk.org; Liu, Changpeng <changpeng.liu at intel.com>;
> maxime.coquelin at redhat.com; Wang, Zhihong <zhihong.wang at intel.com>
> Subject: Re: [PATCH v7 00/10] vhost: support inflight share memory protocol
> feature
>
>
> > [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.
I thought it's a small fix. I will fix it. Thanks.
>
> 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
> >
More information about the dev
mailing list