[dpdk-dev] [PATCH v3 00/14] vDPA API and framework rework
Maxime Coquelin
maxime.coquelin at redhat.com
Mon Jun 29 11:02:23 CEST 2020
On 6/26/20 4:47 PM, Adrian Moreno wrote:
>
>
> 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>
>
Thanks,
Applied to dkdk-next-virtio/master.
Maxime
More information about the dev
mailing list