DPDK patches and discussions
 help / color / mirror / Atom feed
From: Adrian Moreno <amorenoz@redhat.com>
To: dev@dpdk.org, xiaolong.ye@intel.com, shahafs@mellanox.com,
	matan@mellanox.com, maxime.coquelin@redhat.com,
	xiao.w.wang@intel.com, viacheslavo@mellanox.com
Cc: jasowang@redhat.com, lulu@redhat.com,
	Adrian Moreno <amorenoz@redhat.com>
Subject: [dpdk-dev] [PATCH (v20.08) v2 0/8] vhost: improve Vhost/vDPA device init
Date: Thu,  2 Jul 2020 10:32:29 +0200	[thread overview]
Message-ID: <20200702083237.1215652-1-amorenoz@redhat.com> (raw)

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. For Qemu it has been posted [1] , reviewed and acked.
However, it's still waiting for the nex merge windows, so this series
should not be merged until the former is.

Posting it earler so it can be reviewed, specially after the recent
series developed by Matan which also affects the vhost ready status.

[1] https://patchwork.ozlabs.org/project/qemu-devel/patch/20200514073332.1434576-1-maxime.coquelin@redhat.com/

---
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


             reply	other threads:[~2020-07-02  8:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-02  8:32 Adrian Moreno [this message]
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 1/8] vhost: fix virtio ready flag check Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 2/8] vhost: refactor Virtio ready check Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 3/8] vhost: make some vDPA callbacks mandatory Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 4/8] vhost: check vDPA configuration succeed Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 5/8] vhost: add support for virtio status Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 6/8] vhost: add support for virtio get status message Adrian Moreno
2020-07-05 13:15   ` Xia, Chenbo
2020-07-06  8:15     ` Adrian Moreno
2020-07-06  3:22   ` Xia, Chenbo
2020-07-06  8:48     ` Adrian Moreno
2020-07-06 10:29       ` Xia, Chenbo
2020-07-06 10:45         ` Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 7/8] vdpa/ifc: enable status protocol feature Adrian Moreno
2020-07-02  8:32 ` [dpdk-dev] [PATCH v2 8/8] vdpa/mlx5: " Adrian Moreno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200702083237.1215652-1-amorenoz@redhat.com \
    --to=amorenoz@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jasowang@redhat.com \
    --cc=lulu@redhat.com \
    --cc=matan@mellanox.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=shahafs@mellanox.com \
    --cc=viacheslavo@mellanox.com \
    --cc=xiao.w.wang@intel.com \
    --cc=xiaolong.ye@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).