DPDK patches and discussions
 help / color / Atom feed
From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: Adrian Moreno <amorenoz@redhat.com>,
	matan@mellanox.com, xiao.w.wang@intel.com,
	zhihong.wang@intel.com, chenbo.xia@intel.com,
	david.marchand@redhat.com, viacheslavo@mellanox.com,
	hemant.agrawal@nxp.com, sachin.saxena@nxp.com, grive@u256.net,
	dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v3 00/14] vDPA API and framework rework
Date: Mon, 29 Jun 2020 11:02:23 +0200
Message-ID: <3220c350-6b3a-dbe3-df18-88b83041e7a4@redhat.com> (raw)
In-Reply-To: <1d8a6ae2-9175-10c5-8287-a0614048b39c@redhat.com>



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@redhat.com>
> 

Thanks,

Applied to dkdk-next-virtio/master.

Maxime


  reply index

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-26 14:04 Maxime Coquelin
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 [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-06-26 13:26 Maxime Coquelin

Reply instructions:

You may reply publically 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=3220c350-6b3a-dbe3-df18-88b83041e7a4@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

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://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/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


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