From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 0181CC672 for ; Fri, 29 Jan 2016 15:08:41 +0100 (CET) Received: by mail-wm0-f46.google.com with SMTP id r129so70125136wmr.0 for ; Fri, 29 Jan 2016 06:08:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=s/zuJaqiZpN51rh4Q4/1FBvTAkJrSztxY81vEJLHfkQ=; b=E+K7NJM8au2eY1lPdy0klNS4Q9bscqUVVad9Zj5MCXi5cLa7I9IDv2Z+Bf5EqqCjLR 3RE1L9s/0xSLe+2FKUNgUtdXQ47OmWjV/103KtIjzR6uVV4KzgJVDMiWkXuuVuZA4ndL mbQySyW2APyle/nFCBeEJyXxT+3SJI9IuVT792ktDYG0wzpLupphY4K6Mgi5OtFSAOe6 OjycRxy5kj40dtniGkeDYhBSgLiPMv3GQ80j7PSn8n95+gdt6DtlOsqNMPGn5PXx8r07 dob5MmmGyYwT2edjZqvWRQT62SaExfLNMW99HnE4vDnR/yBeOo+ueExkHVnFyDxhxiQx rKWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=s/zuJaqiZpN51rh4Q4/1FBvTAkJrSztxY81vEJLHfkQ=; b=AbwcmbsexTdfPyObxBwJLwValasZK+BjZs34AweicIR80CkMdTW7Lg8F8RqD+wmMsG S7OUreTdrzc69cUTDWWXstUvraN9e5AJY7itm9Hd1Nw5teRCBbbAo/kbwpYy9dddmyDc U1dDEhECoc3HUIkJnYJqY/zJoAQ3skU0ZJVd1BrCSl/GLHaT7tqEX6VJ2ZNCG5O4GqBv QjqRU9sZnsyVj+3gLNAId52/T7/ggy0pOpEl0WQHOBmdOtjLh5PBaxUllGjIQxE9QF3n FV/Hv/+wr2guQwRt3GahVCvI4j0DXorL9qrd9j1QKnM5YrUpCuWFb2tlGT6ExBl+roqk pSAw== X-Gm-Message-State: AG10YORHreT2H67idWrketH2lpmoBLStScapL5HkrY81nyJ7L5RQZYhzME9s0WHX6mwde/X5 X-Received: by 10.194.95.72 with SMTP id di8mr8838512wjb.144.1454076521810; Fri, 29 Jan 2016 06:08:41 -0800 (PST) Received: from gloops.dev.6wind.com (144.77.126.78.rev.sfr.net. [78.126.77.144]) by smtp.gmail.com with ESMTPSA id 67sm7669944wmp.20.2016.01.29.06.08.40 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 29 Jan 2016 06:08:41 -0800 (PST) From: David Marchand To: dev@dpdk.org Date: Fri, 29 Jan 2016 15:08:27 +0100 Message-Id: <1454076516-21591-1-git-send-email-david.marchand@6wind.com> X-Mailer: git-send-email 1.9.1 Cc: viktorin@rehivetech.com Subject: [dpdk-dev] [PATCH 0/9] prepare for rte_device / rte_driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jan 2016 14:08:42 -0000 Following discussions with Jan [1] and some cleanup I started on pci code, here is a patchset that reworks pdev drivers registration and hotplug api. The structures changes mentioned in [1] are still to be done, but at least, I think we are one step closer to it. Before this patchset, rte_driver .init semantics differed whether it concerned a pdev or a vdev driver: - for vdev, it actually meant that a devargs is given to the driver so that it creates ethdev / crypto objects, so it was a probing action - for pdev, it only registered the driver triggering no ethdev / crypto objects Patches 1 to 3 convert all existing pdev drivers into pci drivers and move their registration in constructors. Patch 4 might be of interest to Chelsio guys, following a regression they reported [2]. Patches 5 and 6 align pci drivers and vdev drivers init. Patches 7 to 9 move hotplug where it belongs. I did not test patch 8 on FreeBSD (did not even compile it, for now). [1] http://dpdk.org/ml/archives/dev/2016-January/031390.html [2] http://dpdk.org/ml/archives/dev/2015-November/028289.html Regards, -- David Marchand David Marchand (9): pci: no need for dynamic tailq init pci: register all pdev as pci drivers drivers: no more pdev drivers eal/linux: move back interrupt thread init before setting affinity eal: get rid of pmd type eal: initialize vdevs right next to pci devices pci: add a helper for device name pci: add a helper to refresh a device eal: relocate hotplug code from ethdev drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 2 + drivers/crypto/qat/rte_qat_cryptodev.c | 18 +- drivers/net/af_packet/rte_eth_af_packet.c | 2 + drivers/net/bnx2x/bnx2x_ethdev.c | 34 +-- drivers/net/bonding/rte_eth_bond_pmd.c | 2 + drivers/net/cxgbe/cxgbe_ethdev.c | 24 +- drivers/net/e1000/em_ethdev.c | 17 +- drivers/net/e1000/igb_ethdev.c | 40 +--- drivers/net/enic/enic_ethdev.c | 23 +- drivers/net/fm10k/fm10k_ethdev.c | 23 +- drivers/net/i40e/i40e_ethdev.c | 24 +- drivers/net/i40e/i40e_ethdev_vf.c | 25 +- drivers/net/ixgbe/ixgbe_ethdev.c | 46 +--- drivers/net/mlx4/mlx4.c | 19 +- drivers/net/mlx5/mlx5.c | 19 +- drivers/net/mpipe/mpipe_tilegx.c | 4 + drivers/net/nfp/nfp_net.c | 21 +- drivers/net/null/rte_eth_null.c | 2 + drivers/net/pcap/rte_eth_pcap.c | 2 + drivers/net/ring/rte_eth_ring.c | 2 + drivers/net/szedata2/rte_eth_szedata2.c | 2 + drivers/net/virtio/virtio_ethdev.c | 26 +-- drivers/net/vmxnet3/vmxnet3_ethdev.c | 23 +- drivers/net/xenvirt/rte_eth_xenvirt.c | 2 + lib/librte_cryptodev/rte_cryptodev.c | 32 ++- lib/librte_cryptodev/rte_cryptodev.h | 2 + lib/librte_cryptodev/rte_cryptodev_pmd.h | 18 ++ lib/librte_cryptodev/rte_cryptodev_version.map | 10 +- lib/librte_eal/bsdapp/eal/eal.c | 7 + lib/librte_eal/bsdapp/eal/eal_pci.c | 52 ++++- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 8 + lib/librte_eal/common/eal_common_dev.c | 50 +++- lib/librte_eal/common/eal_common_pci.c | 17 +- lib/librte_eal/common/eal_private.h | 13 ++ lib/librte_eal/common/include/rte_dev.h | 31 ++- lib/librte_eal/common/include/rte_pci.h | 28 +++ lib/librte_eal/linuxapp/eal/eal.c | 13 +- lib/librte_eal/linuxapp/eal/eal_pci.c | 16 +- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 8 + lib/librte_ether/rte_ethdev.c | 296 ++++-------------------- lib/librte_ether/rte_ethdev.h | 15 ++ lib/librte_ether/rte_ether_version.map | 8 + 42 files changed, 465 insertions(+), 561 deletions(-) -- 1.9.1