[dpdk-dev] [PATCH] bus/pci: optimize pci device probe

Thomas Monjalon thomas at monjalon.net
Sun Apr 26 20:08:49 CEST 2020


26/04/2020 19:38, jerinj at marvell.com:
> From: Jerin Jacob <jerinj at marvell.com>
> 
> If the PCI device is not attached to any driver then there is no
> point in probing it. As an optimization, skip the PCI device probe if
> the PCI device driver of type RTE_KDRV_NONE.
> 
> Signed-off-by: Jerin Jacob <jerinj at marvell.com>
> ---
> Notes:
> ------
> - virtio drivers does special treatment based on RTE_KDRV_UNKNOWN, That is
> the reason allowing RTE_KDRV_UNKNOWN in this patch.
> - virio devices uses RTE_KDRV_UNKNOWN for some special meaning, IMO, if it would
>   be better, if
> a) Introduce the KDRV for virio
> b) If the PCIe device of driver type NONE or UNKNOWN then not even add in pci
> list
> in the scan, It will improve the boot time by avoiding operation on
> unwanted device like sorting the PCI devices, scanning it, probe it, managing
> it etc.

mlx4/mlx4 uses RTE_KDRV_UNKNOWN.

> - Initial problem reported at http://patches.dpdk.org/patch/64999/ as
> boot time printf clutter on octeontx2 devices with a lot PCI devices which are
> of type RTE_KDRV_NONE.

Add a logtype for PCI driver and adjust log level accordingly
to your preferences.

> @@ -271,6 +271,8 @@ pci_probe_all_drivers(struct rte_pci_device *dev)
>  	FOREACH_DRIVER_ON_PCIBUS(dr) {
> +		if (dev->kdrv == RTE_KDRV_NONE)
> +			continue;
>  		rc = rte_pci_probe_one_driver(dr, dev);

Nack




More information about the dev mailing list