From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: matan@mellanox.com, xiao.w.wang@intel.com,
zhihong.wang@intel.com, chenbo.xia@intel.com,
david.marchand@redhat.com, amorenoz@redhat.com,
viacheslavo@mellanox.com, hemant.agrawal@nxp.com,
sachin.saxena@nxp.com, grive@u256.net, dev@dpdk.org
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: [dpdk-dev] [PATCH v3 00/14] vDPA API and framework rework
Date: Fri, 26 Jun 2020 16:04:27 +0200 [thread overview]
Message-ID: <20200626140441.1441763-1-maxime.coquelin@redhat.com> (raw)
This series aims to rework the vDPA framework and
its API to better fit into the DPDK device model
and also be more easily consumable by applications.
Main changes are creating a device class for vDPA,
which enables applications to iterate vDPA devices
in a generic way:
RTE_DEV_FOREACH(dev, "class=vdpa", it) {...}
Also the notion of vDPA device ID is replaced
with both application & drivers using the
rte_vdpa_device as reference. Doing that also
made possible to store devices references into
a linked list instead of a static array. Last
patch makes the rte_vdpa_device structure
content opaque to the applications, creating
a clear barrier between application visible
API and drivers visble ones.
The first two patches fixes issues in some
busses iterators, causing segmentation faults
when iterating only on a device class.
While reviewing, if you notice further possible
improvements, please let me know. Target is to
remove the experimental tag from vDPA APIs in
next LTS release.
Thanks to David for giving me some ideas of
improvements!
Changes since v3:
-----------------
- Fix double lock in unregister API (Adrian)
- Apply Acked-by's
Changes since v2:
-----------------
- Remove useless new line in error messages (Adrian)
- Use strncmp fo dev name comparisons (Adrian)
- Apply Adrian Acked-by's
Changes since v1:
-----------------
- Rebase on top of net-next
- Use rte_pci_addr_cmp() instead of comparing pci dev pointers (Gaëtan)
- Use proper types for calculating device ID (Gaëtan)
Maxime Coquelin (14):
bus/dpaa: fix null pointer dereference
bus/fslmc: fix null pointer dereference
vhost: introduce vDPA devices class
vhost: make vDPA framework bus agnostic
vhost: replace device ID in vDPA ops
vhost: replace vDPA device ID in Vhost
vhost: replace device ID in applications
vhost: remove useless vDPA API
vhost: use linked-list for vDPA devices
vhost: introduce wrappers for some vDPA ops
examples/vdpa: use new wrappers instead of ops
examples/vdpa: remove useless device count
vhost: remove vDPA device count API
vhost: split vDPA header file
drivers/bus/dpaa/dpaa_bus.c | 5 +
drivers/bus/fslmc/fslmc_bus.c | 5 +
drivers/vdpa/ifc/ifcvf_vdpa.c | 87 ++++----
drivers/vdpa/mlx5/mlx5_vdpa.c | 134 ++++++------
drivers/vdpa/mlx5/mlx5_vdpa.h | 5 +-
examples/vdpa/main.c | 149 +++++++-------
lib/librte_vhost/Makefile | 3 +-
lib/librte_vhost/meson.build | 3 +-
lib/librte_vhost/rte_vdpa.h | 188 +++++------------
lib/librte_vhost/rte_vdpa_dev.h | 147 +++++++++++++
lib/librte_vhost/rte_vhost.h | 20 +-
lib/librte_vhost/rte_vhost_version.map | 11 +-
lib/librte_vhost/socket.c | 48 ++---
lib/librte_vhost/vdpa.c | 275 +++++++++++++++----------
lib/librte_vhost/vhost.c | 19 +-
lib/librte_vhost/vhost.h | 9 +-
lib/librte_vhost/vhost_user.c | 28 +--
17 files changed, 634 insertions(+), 502 deletions(-)
create mode 100644 lib/librte_vhost/rte_vdpa_dev.h
--
2.26.2
next reply other threads:[~2020-06-26 14:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-26 14:04 Maxime Coquelin [this message]
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 01/14] bus/dpaa: fix null pointer dereference Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 02/14] bus/fslmc: " Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 03/14] vhost: introduce vDPA devices class Maxime Coquelin
2020-06-29 14:48 ` Ferruh Yigit
2020-06-29 16:23 ` Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 04/14] vhost: make vDPA framework bus agnostic Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 05/14] vhost: replace device ID in vDPA ops Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 06/14] vhost: replace vDPA device ID in Vhost Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 07/14] vhost: replace device ID in applications Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 08/14] vhost: remove useless vDPA API Maxime Coquelin
2020-06-29 14:48 ` Ferruh Yigit
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 09/14] vhost: use linked-list for vDPA devices Maxime Coquelin
2020-06-26 14:46 ` Adrian Moreno
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 10/14] vhost: introduce wrappers for some vDPA ops Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 11/14] examples/vdpa: use new wrappers instead of ops Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 12/14] examples/vdpa: remove useless device count Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 13/14] vhost: remove vDPA device count API Maxime Coquelin
2020-06-26 14:04 ` [dpdk-dev] [PATCH v3 14/14] vhost: split vDPA header file Maxime Coquelin
2020-06-26 14:47 ` [dpdk-dev] [PATCH v3 00/14] vDPA API and framework rework Adrian Moreno
2020-06-29 9:02 ` Maxime Coquelin
-- strict thread matches above, loose matches on Subject: below --
2020-06-26 13:26 Maxime Coquelin
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=20200626140441.1441763-1-maxime.coquelin@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=amorenoz@redhat.com \
--cc=chenbo.xia@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=grive@u256.net \
--cc=hemant.agrawal@nxp.com \
--cc=matan@mellanox.com \
--cc=sachin.saxena@nxp.com \
--cc=viacheslavo@mellanox.com \
--cc=xiao.w.wang@intel.com \
--cc=zhihong.wang@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).