On Wed, 24 Jun 2026 at 12:43, David Marchand <[email protected]> wrote:
>
> This is a followup of the previous bus refactoring.
> See 
> https://inbox.dpdk.org/dev/CAJFAV8zvFpLwz8SY8DUUezyJyM43eRZ17Yj30ex808eHC4ZE=g...@mail.gmail.com/.
>
> This series refactors the bus cleanup infrastructure to reduce code
> duplication and fix resource leaks in several bus drivers.
> It should address the leak Thomas pointed at.
>
> The first part of the series (patches 1-6) addresses several bugs and
> inconsistencies:
> - Documentation and log message inconsistencies from earlier bus
>   refactoring
> - Device list management issues in dma/idxd and bus/vdev
> - Resource leaks in PCI and VMBUS bus cleanup (mappings and interrupts)
> - Deferred interrupt allocation to probe time (VMBUS)
>
> The core infrastructure changes (patches 7-8) introduce the generic
> cleanup framework:
> - Refactors unplug operations to be the counterpart of probe_device
> - Implements rte_bus_generic_cleanup() to centralize cleanup logic
> - Adds .free_device operation to struct rte_bus
>
> The final patches (9-10) convert the VMBUS bus to use the generic
> cleanup helper.
>
> After this series, most buses use the generic cleanup helper, eliminating
> duplicated code and ensuring consistent cleanup behavior across the
> codebase.
>
> NXP bus drivers require more (leak) fixes and refactoring and
> are left untouched.
>
>
> --
> David Marchand
>
> Changes since v3:
> - added fix on vdpa/nfp,
>
> Changes since v2:
> - moved ifpga interruption allocation,
>
> Changes since v1:
> - dropped all changes on DPAA and FSLMC bus,
> - added one more cleanup on the first patch,
> - changed coding style in rte_vdev_init,
> - implemented explicit .free_device instead of hack for calling free(),
> - reordered interrupt handle allocation in VMBUS bus,
>
>
> David Marchand (12):
>   bus: fix reference to plug callback
>   dma/idxd: remove next pointer in bus specific device
>   bus/vdev: remove driver setting in probe
>   vdpa/nfp: fix double PCI unmap on unplug
>   bus/pci: fix mapping leak in bus cleanup
>   bus/vmbus: fix interrupt leak in cleanup
>   bus/vmbus: allocate interrupt during probing
>   bus/ifpga: allocate interrupt during probing
>   bus: align unplug with device probe
>   bus: implement cleanup in EAL
>   bus/vmbus: store name in bus specific device
>   bus/vmbus: support unplug
>
>  doc/guides/prog_guide/device_hotplug.rst | 20 +++---
>  doc/guides/rel_notes/release_26_07.rst   |  4 ++
>  drivers/bus/auxiliary/auxiliary_common.c | 54 +++------------
>  drivers/bus/cdx/cdx.c                    | 29 ++------
>  drivers/bus/dpaa/dpaa_bus.c              |  4 +-
>  drivers/bus/fslmc/fslmc_bus.c            |  9 +--
>  drivers/bus/ifpga/ifpga_bus.c            | 88 ++++++++----------------
>  drivers/bus/pci/pci_common.c             | 68 +++---------------
>  drivers/bus/platform/platform.c          | 26 ++-----
>  drivers/bus/uacce/uacce.c                | 59 +++-------------
>  drivers/bus/vdev/vdev.c                  | 76 ++++++++------------
>  drivers/bus/vmbus/bus_vmbus_driver.h     |  1 +
>  drivers/bus/vmbus/linux/vmbus_bus.c      | 16 +----
>  drivers/bus/vmbus/vmbus_common.c         | 58 +++++++++-------
>  drivers/dma/idxd/idxd_bus.c              |  1 -
>  drivers/vdpa/nfp/nfp_vdpa.c              |  4 +-
>  lib/eal/common/eal_common_bus.c          | 33 ++++++++-
>  lib/eal/common/eal_common_dev.c          | 10 +--
>  lib/eal/include/bus_driver.h             | 51 +++++++++-----
>  19 files changed, 235 insertions(+), 376 deletions(-)

Series applied, thanks for the reviews.


-- 
David Marchand

Reply via email to