From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH v2 00/42] Remove struct eth_driver Date: Wed, 12 Apr 2017 09:25:18 -0700 Message-ID: <20170412092519.3a29fb55@xeon-e3> References: <1488794430-25179-1-git-send-email-jblunck@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, Jan Blunck To: Gaetan Rivet Return-path: Received: from mail-pf0-f180.google.com (mail-pf0-f180.google.com [209.85.192.180]) by dpdk.org (Postfix) with ESMTP id 2E1632C23 for ; Wed, 12 Apr 2017 18:25:21 +0200 (CEST) Received: by mail-pf0-f180.google.com with SMTP id s16so16156552pfs.0 for ; Wed, 12 Apr 2017 09:25:21 -0700 (PDT) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, 11 Apr 2017 17:44:07 +0200 Gaetan Rivet wrote: > I rebased the following work of Jan: > > This series is removing the PCI specific struct eth_driver from rte_ether. The > PCI drivers are changed to use the newly introduced header-only helpers > instead. Although the virtual drivers did not make use of the ethdev's driver > field they are converted to use the VDEV specific allocation helpers. The > motivation for this change is to properly embed a reference to the generic > rte_device in the ethdev. > > The series is based on: > > * http://dpdk.org/dev/patchwork/patch/20416/ > * http://dpdk.org/dev/patchwork/patch/20417/ > * The "Rework vdev probing to use rte_bus infrastructure" series > * http://dpdk.org/dev/patchwork/patch/21058/ > > Changes in v2: > * Removed the patch "net/vmxnet3: use library function for DMA zone reserve" > It is essentially duplicating the following commit: > 04df93d1edac ("net/vmxnet3: fix queue size changes") > * Fixed header includes for mlx4 and mlx5 PMD > * Followed the changes of the series for new PMDs (AVP, liquidio) > * Made KNI use the new API > * Made PCAP use the new API > * Fixed undefined behavior on vdev driver arg parsing > * Fixed virtual_pmd for unit test > > Gaetan Rivet (5): > net/kni: use ethdev allocation helper for virtual devices > net/pcap: use ethdev allocation helper for virtual devices > net/avp: Don't use eth_driver > net/liquidio: Don't use eth_driver > test: remove unused ethdev driver > > Jan Blunck (37): > eal: add name field to generic device > eal: parse "driver" device argument before probing drivers > net/nfp: use library function for DMA zone reserve > ether: add allocation helper for virtual drivers > net/tap: use ethdev allocation helper for virtual devices > net/vhost: use ethdev allocation helper for virtual devices > net/virtio: use ethdev allocation helper for virtual devices > net/af_packet: use ethdev allocation helper for virtual devices > app/test: don't short-circuit null device creation > net/null: internalize eth_dev_null_create() > net/null: use ethdev allocation helper for virtual devices > net/bonding: make bonding API call through EAL on create/free > net/bonding: use ethdev allocation helper for virtual devices > ethdev: add PCI driver helpers > net/virtio: Don't use eth_driver > net/bnx2x: Don't use eth_driver > net/bnxt: Don't use eth_driver > net/cxgbe: Don't use eth_driver > net/em: Don't use eth_driver > net/igb: Don't use eth_driver > net/ena: Don't use eth_driver > net/enic: Don't use eth_driver > net/fm10k: Don't use eth_driver > net/i40e: Don't use eth_driver > net/i40evf: Don't use eth_driver > net/ixgbe: Don't use eth_driver > net/mlx: Don't reference eth_driver > net/nfp: Don't use eth_driver > net/qede: Don't use eth_driver > net/sfc: Don't use eth_driver > net/szedata2: Don't use eth_driver > net/thunderx: Don't use eth_driver > net/vmxnet3: Don't use eth_driver > ethdev: remove unused ethdev PCI probe/remove > ethdev: remove unused ethdev driver > ethdev: remove PCI specific helper from generic ethdev header > ethdev: don't include PCI header > > drivers/net/af_packet/rte_eth_af_packet.c | 42 +++---- > drivers/net/avp/avp_ethdev.c | 43 +++++-- > drivers/net/bnx2x/bnx2x_ethdev.c | 64 ++++++---- > drivers/net/bnx2x/bnx2x_rxtx.c | 2 +- > drivers/net/bnxt/bnxt_ethdev.c | 36 ++++-- > drivers/net/bonding/rte_eth_bond_api.c | 171 ++++---------------------- > drivers/net/bonding/rte_eth_bond_args.c | 2 +- > drivers/net/bonding/rte_eth_bond_pmd.c | 160 +++++++++++++++++++++++-- > drivers/net/cxgbe/cxgbe_ethdev.c | 29 +++-- > drivers/net/cxgbe/cxgbe_main.c | 2 +- > drivers/net/cxgbe/sge.c | 6 +- > drivers/net/e1000/em_ethdev.c | 30 +++-- > drivers/net/e1000/igb_ethdev.c | 60 ++++++---- > drivers/net/ena/ena_ethdev.c | 29 +++-- > drivers/net/enic/enic_ethdev.c | 29 +++-- > drivers/net/fm10k/fm10k_ethdev.c | 30 +++-- > drivers/net/i40e/i40e_ethdev.c | 36 +++--- > drivers/net/i40e/i40e_ethdev_vf.c | 31 +++-- > drivers/net/i40e/i40e_fdir.c | 2 +- > drivers/net/ixgbe/ixgbe_ethdev.c | 66 +++++++---- > drivers/net/kni/rte_eth_kni.c | 39 +++--- > drivers/net/liquidio/lio_ethdev.c | 44 +++++-- > drivers/net/mlx4/mlx4.c | 24 ++-- > drivers/net/mlx5/mlx5.c | 24 ++-- > drivers/net/nfp/nfp_net.c | 59 ++++----- > drivers/net/null/Makefile | 7 +- > drivers/net/null/rte_eth_null.c | 55 +++------ > drivers/net/null/rte_eth_null.h | 40 ------- > drivers/net/null/rte_pmd_null_version.map | 7 -- > drivers/net/pcap/rte_eth_pcap.c | 62 +++++----- > drivers/net/qede/qede_ethdev.c | 60 ++++++---- > drivers/net/qede/qede_ethdev.h | 1 + > drivers/net/ring/rte_eth_ring.c | 1 - > drivers/net/sfc/sfc_ethdev.c | 34 ++++-- > drivers/net/szedata2/rte_eth_szedata2.c | 29 +++-- > drivers/net/tap/rte_eth_tap.c | 38 ++---- > drivers/net/thunderx/nicvf_ethdev.c | 29 +++-- > drivers/net/vhost/rte_eth_vhost.c | 54 ++++----- > drivers/net/virtio/virtio_ethdev.c | 34 ++++-- > drivers/net/virtio/virtio_user_ethdev.c | 20 +--- > drivers/net/vmxnet3/vmxnet3_ethdev.c | 30 +++-- > lib/librte_eal/bsdapp/eal/eal_pci.c | 3 + > lib/librte_eal/common/eal_common_dev.c | 3 + > lib/librte_eal/common/eal_common_vdev.c | 53 ++++++++- > lib/librte_eal/common/include/rte_dev.h | 1 + > lib/librte_eal/common/include/rte_pci.h | 1 + > lib/librte_eal/linuxapp/eal/eal_pci.c | 3 + > lib/librte_ether/Makefile | 2 + > lib/librte_ether/rte_ethdev.c | 117 ------------------ > lib/librte_ether/rte_ethdev.h | 105 +--------------- > lib/librte_ether/rte_ethdev_pci.h | 191 ++++++++++++++++++++++++++++++ > lib/librte_ether/rte_ethdev_vdev.h | 84 +++++++++++++ > lib/librte_ether/rte_ether_version.map | 11 +- > test/test/test_link_bonding_rssconf.c | 4 +- > test/test/virtual_pmd.c | 12 +- > 55 files changed, 1185 insertions(+), 966 deletions(-) > delete mode 100644 drivers/net/null/rte_eth_null.h > create mode 100644 lib/librte_ether/rte_ethdev_pci.h > create mode 100644 lib/librte_ether/rte_ethdev_vdev.h > Looks good. Acked-by: Stephen Hemminger