RE: [PATCH v3 0/7] Rework device probing

Morten Brørup
2026-04-10T14:35:01Z

Is there a workaround until this patch is added, if I don't want rte_eal_init() to probe any devices, but I want my application to probe devices later by calling rte_bus_scan() followed by rte_bus_probe()?

It's not something we really need, so if you don't know it off the top of your head, don't spend time trying to figure it out.

Venlig hilsen / Kind regards,
-Morten Brørup

> -----Original Message-----
> From: David Marchand [mailto:david.marchand@redhat.com]
> Sent: Tuesday, 7 April 2026 13.52
> To: dev@dpdk.org
> Subject: [PATCH v3 0/7] Rework device probing
>
> Applications relying on device hotplug don't work well with the default
> probing of all available resources.
> This series proposes to change this behavior via a new EAL option.
>
>
> --
> David Marchand
>
> Changes since v2:
> - rebased for late 26.03 fslmc bus changes,
> - fixed devargs lookup,
> - added debug logs,
>
> Changes since v1:
> - restored per bus scan mode,
> - fixed logic in device selection for dma/idxd,
> - fixed raw/ifpga hotplug on ifpga bus,
> - fixed some doxygen,
>
> Changes since RFC v3:
> - removed per bus scan mode,
>
> Changes since RFC v2:
> - went one step further and reworked devargs lookup in buses following
> Bruce comment (see patch 4 which is cosmetic, and patch 5),
> - updated device selection helper accordingly and
> changed API to be device name based,
> - renamed option, added check on -b presence, updated doc in the last
> patch,
>
> Changes since RFC v1:
> - reviewed bus probe() and cleaned up NXP drivers,
> - changed approach following Bruce comment,
>
> David Marchand (7):
> devtools: check packet forwarding in null test
> bus/fslmc: fix bus cleanup
> drivers/bus: require probe function for NXP drivers
> drivers/bus: cleanup devargs lookup in scan
> bus: factorize devargs lookup
> bus: factorize device selection
> eal: configure initial device probing
>
> app/test/test_eal_flags.c | 63 ++++++++++++++++
> devtools/test-null.sh | 10 ++-
> doc/guides/linux_gsg/eal_args.include.rst | 13 ++++
> drivers/bus/auxiliary/auxiliary_common.c | 33 +--------
> drivers/bus/auxiliary/bus_auxiliary_driver.h | 2 -
> drivers/bus/auxiliary/linux/auxiliary.c | 2 +-
> drivers/bus/auxiliary/private.h | 6 --
> drivers/bus/cdx/cdx.c | 34 +--------
> drivers/bus/dpaa/dpaa_bus.c | 71 ++++++++----------
> drivers/bus/fslmc/fslmc_bus.c | 75 ++++++++------------
> drivers/bus/fslmc/fslmc_vfio.c | 21 ++----
> drivers/bus/ifpga/ifpga_bus.c | 8 ++-
> drivers/bus/pci/bsd/pci.c | 5 +-
> drivers/bus/pci/linux/pci.c | 2 +-
> drivers/bus/pci/pci_common.c | 51 ++++---------
> drivers/bus/pci/private.h | 11 ---
> drivers/bus/pci/windows/pci.c | 4 +-
> drivers/bus/platform/platform.c | 43 +----------
> drivers/bus/uacce/uacce.c | 39 +---------
> drivers/bus/vdev/vdev.c | 2 +-
> drivers/bus/vmbus/linux/vmbus_bus.c | 2 +-
> drivers/bus/vmbus/private.h | 3 -
> drivers/bus/vmbus/vmbus_common.c | 45 +++---------
> drivers/dma/idxd/idxd_bus.c | 18 +----
> lib/eal/common/eal_common_bus.c | 54 ++++++++++++++
> lib/eal/common/eal_common_options.c | 10 +++
> lib/eal/common/eal_internal_cfg.h | 1 +
> lib/eal/common/eal_option_list.h | 2 +
> lib/eal/include/bus_driver.h | 38 ++++++++++
> 29 files changed, 301 insertions(+), 367 deletions(-)
>
> --
> 2.53.0