[dpdk-dev] [PATCH v3 00/14] vDPA API and framework rework

Adrian Moreno amorenoz at redhat.com
Fri Jun 26 16:47:33 CEST 2020



On 6/26/20 4:04 PM, Maxime Coquelin wrote:
> 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
> 

Besides the wrong patch version:

Acked-by: Adrián Moreno <amorenoz at redhat.com>

-- 
Adrián Moreno



More information about the dev mailing list