[dpdk-dev] [PATCH v3 00/10] Rework vdev probing to use rte_bus infrastructure

Jan Blunck jblunck at infradead.org
Mon Feb 27 14:09:16 CET 2017


On Sat, Feb 25, 2017 at 11:28 AM, Jan Blunck <jblunck at infradead.org> wrote:
> With the rte_bus infrastructure present in 17.02 it is possible to refactor
> the virtual device probing into a bus. This series also introduces the
> rte_vdev_device to better keep track of devices.
>
> This patchset depends on:
> http://dpdk.org/dev/patchwork/patch/20416/
> http://dpdk.org/dev/patchwork/patch/20417/
>
> Changes since version 2:
>  * implicit bus registration through rte_eal_vdrv_register()

On a second thought I don't think that this is correct though since it
opens up the possibility of racing an alternative "virtual" bus. I
don't think that this is a good thing though. I'll fix this in v4.

Thoughts?

Thanks,
Jan

>  * explicit delay probing of virtual bus in rte_bus_probe()
>  * addition of rte_vdev_device_args() helper
>  * make virtual driver probe and remove take rte_vdev_device
>
> Changes since version 1:
>  * addition of rte_vdev_device_name() helper
>  * removed rte_eal_dev_init() from *.map files
>  * use SOCKET_ID_ANY
>
> Jan Blunck (10):
>   eal: probe legacy PCI devices before other bus devices
>   eal: probe new virtual bus after other bus devices
>   eal: move virtual device probing into a bus
>   eal: remove unused rte_eal_dev_init()
>   eal: Refactor vdev driver probe/remove
>   eal: add struct rte_vdev_device
>   eal: add virtual device name helper function
>   eal: add virtual device arguments helper function
>   eal: make virtual bus use rte_vdev_device
>   eal: make virtual driver probe and remove take rte_vdev_device
>
>  drivers/crypto/null/null_crypto_pmd.c           |  18 +-
>  drivers/net/af_packet/rte_eth_af_packet.c       |  11 +-
>  drivers/net/bonding/rte_eth_bond_pmd.c          |  13 +-
>  drivers/net/mpipe/mpipe_tilegx.c                |  10 +-
>  drivers/net/null/rte_eth_null.c                 |  13 +-
>  drivers/net/pcap/rte_eth_pcap.c                 |  12 +-
>  drivers/net/ring/rte_eth_ring.c                 |   9 +-
>  drivers/net/tap/rte_eth_tap.c                   |  10 +-
>  drivers/net/vhost/rte_eth_vhost.c               |  10 +-
>  drivers/net/virtio/virtio_user_ethdev.c         |  18 +-
>  drivers/net/xenvirt/rte_eth_xenvirt.c           |   9 +-
>  lib/librte_eal/bsdapp/eal/eal.c                 |   9 +-
>  lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   1 -
>  lib/librte_eal/common/eal_common_bus.c          |  16 +-
>  lib/librte_eal/common/eal_common_dev.c          |  28 ---
>  lib/librte_eal/common/eal_common_vdev.c         | 259 +++++++++++++++++++++---
>  lib/librte_eal/common/include/rte_dev.h         |   5 -
>  lib/librte_eal/common/include/rte_vdev.h        |  26 ++-
>  lib/librte_eal/linuxapp/eal/eal.c               |   9 +-
>  lib/librte_eal/linuxapp/eal/rte_eal_version.map |   1 -
>  20 files changed, 355 insertions(+), 132 deletions(-)
>
> --
> 2.7.4
>


More information about the dev mailing list