[dpdk-dev] [PATCH v7 00/10] vhost: support inflight share memory protocol feature
Tiwei Bie
tiwei.bie at intel.com
Wed Sep 25 16:25:33 CEST 2019
> [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
>
More information about the dev
mailing list