[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