[dpdk-dev] [PATCH v2 0/3] eal: allow hotplug to skip an already probed device

Thomas Monjalon thomas at monjalon.net
Fri Sep 28 18:40:36 CEST 2018


This is a follow-up of an idea presented at Dublin
during the "hotplug talk".

The idea is to ease probing of range of ports attached
to the same rte_device.
I becomes possible to allow probing again the same device
but with a bigger range of ports in the devargs.

Instead of adding a parameter to the hotplug functions, as in the RFC,
the check of an already probed device is moved to the PMDs.
It gives flexibility to drivers for managing range of ports.


This series is based on top of
https://patches.dpdk.org/project/dpdk/list/?series=1579

Depends on: project/dpdk/list/?series=1579
(proposed syntax for dependencies)


Thomas Monjalon (3):
  drivers/bus: move driver assignment to end of probing
  eal: add function to query device status
  eal: allow probing a device again

 drivers/bus/dpaa/dpaa_bus.c                |  3 +++
 drivers/bus/fslmc/fslmc_bus.c              |  3 +++
 drivers/bus/ifpga/ifpga_bus.c              | 22 +++++++++--------
 drivers/bus/pci/pci_common.c               | 20 +++++++++-------
 drivers/bus/pci/rte_bus_pci.h              |  2 +-
 drivers/bus/vdev/vdev.c                    | 12 ++++++----
 drivers/bus/vmbus/vmbus_common.c           | 28 ++++++++++++----------
 drivers/common/qat/Makefile                |  3 ++-
 drivers/common/qat/meson.build             |  1 +
 drivers/common/qat/qat_device.c            |  3 +++
 drivers/compress/octeontx/otx_zip_pmd.c    |  3 +++
 drivers/crypto/virtio/Makefile             |  1 +
 drivers/crypto/virtio/meson.build          |  1 +
 drivers/crypto/virtio/virtio_cryptodev.c   |  3 +++
 drivers/event/octeontx/ssovf_probe.c       |  6 +++++
 drivers/event/skeleton/Makefile            |  1 +
 drivers/event/skeleton/meson.build         |  1 +
 drivers/mempool/octeontx/Makefile          |  1 +
 drivers/mempool/octeontx/meson.build       |  2 ++
 drivers/mempool/octeontx/octeontx_fpavf.c  |  3 +++
 drivers/net/ark/Makefile                   |  1 +
 drivers/net/ark/meson.build                |  1 +
 drivers/net/avf/Makefile                   |  1 +
 drivers/net/avp/Makefile                   |  1 +
 drivers/net/avp/meson.build                |  1 +
 drivers/net/axgbe/Makefile                 |  1 +
 drivers/net/axgbe/meson.build              |  2 ++
 drivers/net/bnx2x/Makefile                 |  1 +
 drivers/net/bnx2x/meson.build              |  1 +
 drivers/net/bnxt/Makefile                  |  1 +
 drivers/net/bnxt/meson.build               |  1 +
 drivers/net/cxgbe/Makefile                 |  1 +
 drivers/net/cxgbe/meson.build              |  2 ++
 drivers/net/e1000/Makefile                 |  1 +
 drivers/net/e1000/meson.build              |  2 ++
 drivers/net/enic/Makefile                  |  1 +
 drivers/net/enic/meson.build               |  2 ++
 drivers/net/fm10k/Makefile                 |  1 +
 drivers/net/fm10k/meson.build              |  2 ++
 drivers/net/i40e/i40e_ethdev.c             |  3 +++
 drivers/net/i40e/i40e_vf_representor.c     |  3 ---
 drivers/net/ifc/ifcvf_vdpa.c               |  3 +++
 drivers/net/ixgbe/ixgbe_ethdev.c           |  3 +++
 drivers/net/liquidio/Makefile              |  1 +
 drivers/net/liquidio/meson.build           |  1 +
 drivers/net/mlx4/mlx4.c                    |  5 +++-
 drivers/net/mlx5/mlx5.c                    |  5 +++-
 drivers/net/netvsc/hn_ethdev.c             |  9 ++++---
 drivers/net/nfp/Makefile                   |  1 +
 drivers/net/nfp/meson.build                |  1 +
 drivers/net/nfp/nfp_net.c                  |  3 +++
 drivers/net/octeontx/Makefile              |  3 +--
 drivers/net/octeontx/base/meson.build      |  2 +-
 drivers/net/octeontx/base/octeontx_pkivf.c |  3 +++
 drivers/net/octeontx/base/octeontx_pkovf.c |  3 +++
 drivers/net/qede/Makefile                  |  1 +
 drivers/net/qede/meson.build               |  2 ++
 drivers/net/szedata2/Makefile              |  1 +
 drivers/net/szedata2/meson.build           |  1 +
 drivers/net/szedata2/rte_eth_szedata2.c    |  3 +++
 drivers/net/thunderx/Makefile              |  1 +
 drivers/net/thunderx/meson.build           |  2 ++
 drivers/raw/ifpga_rawdev/ifpga_rawdev.c    |  3 +++
 lib/librte_eal/common/eal_common_dev.c     | 12 ++++++----
 lib/librte_eal/common/include/rte_dev.h    | 18 ++++++++++++--
 lib/librte_eal/rte_eal_version.map         |  1 +
 lib/librte_ethdev/rte_ethdev_pci.h         |  3 +++
 lib/librte_eventdev/rte_eventdev_pmd_pci.h |  3 +++
 68 files changed, 187 insertions(+), 56 deletions(-)

-- 
2.19.0



More information about the dev mailing list