[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