DPDK patches and discussions
 help / color / mirror / Atom feed
From: Adrian Moreno <amorenoz@redhat.com>
To: dev@dpdk.org, chenbo.xia@intel.com, 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) v3 0/8] vhost: improve Vhost/vDPA device init
Date: Mon,  6 Jul 2020 13:24:44 +0200
Message-ID: <20200706112452.1474533-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. 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


             reply	other threads:[~2020-07-06 11:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-06 11:24 Adrian Moreno [this message]
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 1/8] vhost: fix virtio ready flag check Adrian Moreno
2020-07-07  3:21   ` Xia, Chenbo
2020-07-08 14:22     ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 2/8] vhost: refactor Virtio ready check Adrian Moreno
2020-07-07  3:21   ` Xia, Chenbo
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 3/8] vhost: make some vDPA callbacks mandatory Adrian Moreno
2020-07-07  3:21   ` Xia, Chenbo
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 4/8] vhost: check vDPA configuration succeed Adrian Moreno
2020-07-07  3:22   ` Xia, Chenbo
2020-07-08 13:20   ` Ferruh Yigit
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 5/8] vhost: add support for virtio status Adrian Moreno
2020-07-07  3:22   ` Xia, Chenbo
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 6/8] vhost: add support for virtio get status message Adrian Moreno
2020-07-07  3:22   ` Xia, Chenbo
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 7/8] vdpa/ifc: enable status protocol feature Adrian Moreno
2020-07-07  3:22   ` Xia, Chenbo
2020-07-06 11:24 ` [dpdk-dev] [PATCH v3 8/8] vdpa/mlx5: " Adrian Moreno
2020-07-07  3:23   ` Xia, Chenbo

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=20200706112452.1474533-1-amorenoz@redhat.com \
    --to=amorenoz@redhat.com \
    --cc=chenbo.xia@intel.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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git