Re: [PATCH 0/8] Rework device probing

Maxime Leroy
2026-03-25T15:22:44Z

Hi David,

On Mon, Mar 23, 2026 at 11:53 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> 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.

On my side, the whole series works fine with Grout on NXP CPUs.
I can add DPDK ports, send/receive traffic, delete ports, recreate them, etc.

>
>
> --
> David Marchand
>
> 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 (8):
> devtools: check packet forwarding in null test
> bus/fslmc: fix bus cleanup
> drivers/bus: require probe function for NXP drivers
> drivers: cleanup devargs lookup in bus scan
> bus: factorize devargs lookup
> bus: factorize device selection
> bus: remove per bus scan mode
> 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 | 69 ++++++++-----------
> drivers/bus/fslmc/fslmc_vfio.c | 21 ++----
> drivers/bus/ifpga/bus_ifpga_driver.h | 2 -
> drivers/bus/ifpga/ifpga_bus.c | 4 +-
> 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 +----
> drivers/raw/ifpga/ifpga_rawdev.c | 2 +-
> lib/eal/common/eal_common_bus.c | 62 +++++++++++++++++
> lib/eal/common/eal_common_devargs.c | 8 +--
> 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/common/eal_private.h | 31 +++++++++
> lib/eal/include/bus_driver.h | 55 ++++++++++-----
> 33 files changed, 338 insertions(+), 388 deletions(-)
>
> --
> 2.53.0
>

Best regards,

Maxime Leroy