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

Shreyansh Jain shreyansh.jain at nxp.com
Tue Feb 28 09:48:14 CET 2017


On Monday 27 February 2017 06:39 PM, Jan Blunck wrote:
> 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?

I prefer the RTE_REGISTER* way.
The issue of duplicate bus remains whether we use the macro or the
implicit way.

If you use RTE_*, do you think that duplicate registration issue
is worth fixing?
(It would mean rte_bus_register to return error which the caller
would then need to handle).

>
> 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