[dpdk-dev] [PATCH (v20.08) v3 0/8] vhost: improve Vhost/vDPA device init

Adrian Moreno amorenoz at redhat.com
Mon Jul 6 13:24:44 CEST 2020


The goal of this series is to make the Vhost/vDPA device init more
robust by adding support to a new protocol feature and two new messages.

VHOST_USER_SET_STATUS is received by the backend when the driver updates
the virtio device status register.

For now this series only deals with the DRIVER_OK bit, which indicates
that the driver is done with the device initialization. So, if the
feature is negotiated, make it a requirement to consider the device
ready.

For example, such information helps the Vhost backend to know when it
can call the dev_conf vDPA callback.

VIRTIO_USER_GET_STATUS is received by the backend to report the status
of the virtio device as per the virtio specification.

One use of this message is for the frontend to read the status after
the feature negotiation. If the device has cleared the FEATURE_OK bit,
the driver should interpret that the device has rejected the features
and should fail accordingly.

Before adding support for these new requests, some clean-ups and
refactoring are done as preliminary steps to make the code more easily
readable. Some vDPA APIs are also made mandatory.

Note that the VHOST_USER_PROTOCOL_F_STATUS protocol feature requires
frontend support. The patch that adds such support in QEMU has been
included in the latest Pull Request [1] and should be merged in the
coming days.

[1] https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg01641.html

---
Changes from v2:
- [Chenbo] Return RTE_VHOST_MSG_RESULT_REPLY in get_status handler
- Code style error

Changes from v1:
- Rebased on top of virtio-next:
 - Dropped [PATCH 9/9] vhost: only use vDPA config workaround if needed
 since the latest changes have made the workaround uncessary.
 - Dropped [PATCH 3/9] vdpa/ifc: add support to vDPA queue enable
 Callbacks are now expected to reconfigure the file descriptors.
- Updated the message ids as per latest version of qemu spec:
- Added VHOST_USER_GET_STATUS support
- [Chenbo Xia] Add validate_msg_fds to set_staus message handler

---
Adrian Moreno (1):
  vhost: add support for virtio get status message

Maxime Coquelin (7):
  vhost: fix virtio ready flag check
  vhost: refactor Virtio ready check
  vhost: make some vDPA callbacks mandatory
  vhost: check vDPA configuration succeed
  vhost: add support for virtio status
  vdpa/ifc: enable status protocol feature
  vdpa/mlx5: enable status protocol feature

 drivers/vdpa/ifc/ifcvf_vdpa.c   |   3 +-
 drivers/vdpa/mlx5/mlx5_vdpa.c   |   3 +-
 lib/librte_vhost/rte_vdpa_dev.h |  14 ++--
 lib/librte_vhost/rte_vhost.h    |   4 ++
 lib/librte_vhost/socket.c       |   6 +-
 lib/librte_vhost/vdpa.c         |  10 +++
 lib/librte_vhost/vhost.c        |   3 +-
 lib/librte_vhost/vhost.h        |  11 +++
 lib/librte_vhost/vhost_user.c   | 117 +++++++++++++++++++++++++++-----
 lib/librte_vhost/vhost_user.h   |   7 +-
 10 files changed, 148 insertions(+), 30 deletions(-)

-- 
2.26.2



More information about the dev mailing list