[dpdk-dev] [PATCH v13 0/7] rte_bus_pci

Stephen Hemminger stephen at networkplumber.org
Wed Apr 12 18:09:31 CEST 2017


On Tue, 11 Apr 2017 13:07:27 +0200
Gaetan Rivet <gaetan.rivet at 6wind.com> wrote:

> I have rebased the work done by Shreyansh and Thomas to follow
> the bus abstraction introduced in v17.02 for the PCI bus
> implementation.
> This series is only a partial version of the previous one, because
> some of the patches have already been integrated, and others still
> need rework.
> 
> Additionally, Jan Blunck sent this RFC:
> 
> [RFC] eal: use busname and devargs to attach devices
> 
> That has not been considered for this version as it had not yet spawned
> a discussion.
> 
> changes in v13:
>   - Removed the PCI tests. They cannot follow the bus implementation
>     anymore, and it is an opportunity to update their original design.
>   - Changed the rte_pci_match function semantic to match its name.
>   - Made the rte_pci_match function private.
>   - Made the rte_bus_list private
>   - Made rte_eal_pci_add_device,
>          rte_eal_pci_insert_device,
>          rte_eal_pci_remove_device,
>      functions private.
> 
> Additional work is needed:
>   - The PCI bus should be moved to the relevant bus sub-directory.
>   - The documentation must be updated.
> 
> But this version should allow for the PCI bus implementation to be
> integrated in v17.05-rc2.
> 
> Gaetan Rivet (1):
>   test: remove pci tests
> 
> Shreyansh Jain (6):
>   pci: split match and probe
>   pci: remove loop over drivers in device detach
>   pci: add bus driver
>   pci: use bus driver for scan/probe
>   pci: use bus driver for attach/detach
>   doc: remove deprecation notice for rte_bus
> 
>  MAINTAINERS                                        |   2 -
>  doc/guides/rel_notes/release_17_02.rst             |   2 +-
>  lib/librte_eal/bsdapp/eal/Makefile                 |   2 +-
>  lib/librte_eal/bsdapp/eal/eal.c                    |  14 -
>  lib/librte_eal/bsdapp/eal/eal_pci.c                |  34 +-
>  lib/librte_eal/bsdapp/eal/rte_eal_version.map      |   2 -
>  lib/librte_eal/common/eal_bus.h                    |  45 +++
>  lib/librte_eal/common/eal_common_dev.c             |  57 +++-
>  lib/librte_eal/common/eal_common_pci.c             | 362 +++++++++++++--------
>  lib/librte_eal/common/eal_private.h                |  41 ++-
>  lib/librte_eal/common/include/rte_bus.h            |  29 ++
>  lib/librte_eal/common/include/rte_pci.h            |  94 ++++--
>  lib/librte_eal/linuxapp/eal/Makefile               |   2 +-
>  lib/librte_eal/linuxapp/eal/eal.c                  |  14 -
>  lib/librte_eal/linuxapp/eal/eal_pci.c              |  38 +--
>  lib/librte_eal/linuxapp/eal/rte_eal_version.map    |   2 -
>  test/test/Makefile                                 |   2 -
>  test/test/test.h                                   |   3 -
>  test/test/test_mp_secondary.c                      |  17 -
>  test/test/test_pci.c                               | 322 ------------------
>  .../bus/pci/devices/0000:01:00.0/class             |   1 -
>  .../bus/pci/devices/0000:01:00.0/config            | Bin 64 -> 0 bytes
>  .../devices/0000:01:00.0/consistent_dma_mask_bits  |   1 -
>  .../bus/pci/devices/0000:01:00.0/device            |   1 -
>  .../bus/pci/devices/0000:01:00.0/dma_mask_bits     |   1 -
>  .../bus/pci/devices/0000:01:00.0/enable            |   1 -
>  .../bus/pci/devices/0000:01:00.0/irq               |   1 -
>  .../bus/pci/devices/0000:01:00.0/modalias          |   1 -
>  .../bus/pci/devices/0000:01:00.0/msi_bus           |   1 -
>  .../bus/pci/devices/0000:01:00.0/numa_node         |   1 -
>  .../bus/pci/devices/0000:01:00.0/resource          |  13 -
>  .../bus/pci/devices/0000:01:00.0/sriov_numvfs      |   1 -
>  .../bus/pci/devices/0000:01:00.0/sriov_totalvfs    |   1 -
>  .../bus/pci/devices/0000:01:00.0/subsystem_device  |   1 -
>  .../bus/pci/devices/0000:01:00.0/subsystem_vendor  |   1 -
>  .../bus/pci/devices/0000:01:00.0/uevent            |   6 -
>  .../bus/pci/devices/0000:01:00.0/vendor            |   1 -
>  .../bus/pci/devices/0000:01:02.0/class             |   1 -
>  .../bus/pci/devices/0000:01:02.0/device            |   1 -
>  .../bus/pci/devices/0000:01:02.0/resource          |  13 -
>  .../bus/pci/devices/0000:01:02.0/subsystem_device  |   1 -
>  .../bus/pci/devices/0000:01:02.0/subsystem_vendor  |   1 -
>  .../bus/pci/devices/0000:01:02.0/vendor            |   1 -
>  .../bus/pci/devices/0000:02:ab.0/class             |   1 -
>  .../bus/pci/devices/0000:02:ab.0/device            |   1 -
>  .../bus/pci/devices/0000:02:ab.0/resource          |  13 -
>  .../bus/pci/devices/0000:02:ab.0/subsystem_device  |   1 -
>  .../bus/pci/devices/0000:02:ab.0/subsystem_vendor  |   1 -
>  .../bus/pci/devices/0000:02:ab.0/vendor            |   1 -
>  49 files changed, 478 insertions(+), 675 deletions(-)
>  create mode 100644 lib/librte_eal/common/eal_bus.h
>  delete mode 100644 test/test/test_pci.c
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/class
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/config
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/consistent_dma_mask_bits
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/device
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/dma_mask_bits
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/enable
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/irq
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/modalias
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/msi_bus
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/numa_node
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/resource
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_numvfs
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_totalvfs
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_device
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_vendor
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/uevent
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/vendor
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/class
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/device
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/resource
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_device
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_vendor
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/vendor
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/class
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/device
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/resource
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_device
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_vendor
>  delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/vendor
> 

Looks good. Removing dependencies on PCI is part of the roadblocks in supporting Hyper-V/VMBUS
and Xen netfront properly.

Acked-by: Stephen Hemminger <stephen at networkplumber.org>


More information about the dev mailing list