From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Marchand Subject: [PATCH 6/9] eal: initialize vdevs right next to pci devices Date: Fri, 29 Jan 2016 15:08:33 +0100 Message-ID: <1454076516-21591-7-git-send-email-david.marchand@6wind.com> References: <1454076516-21591-1-git-send-email-david.marchand@6wind.com> Cc: viktorin@rehivetech.com To: dev@dpdk.org Return-path: Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id 660B1C6C8 for ; Fri, 29 Jan 2016 15:08:48 +0100 (CET) Received: by mail-wm0-f53.google.com with SMTP id r129so70129447wmr.0 for ; Fri, 29 Jan 2016 06:08:48 -0800 (PST) In-Reply-To: <1454076516-21591-1-git-send-email-david.marchand@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This way, the resources probing happens in a common place. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp/eal/eal.c | 7 +++++++ lib/librte_eal/common/include/rte_dev.h | 2 +- lib/librte_eal/linuxapp/eal/eal.c | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c index a34e61d..b557a9f 100644 --- a/lib/librte_eal/bsdapp/eal/eal.c +++ b/lib/librte_eal/bsdapp/eal/eal.c @@ -582,8 +582,10 @@ rte_eal_init(int argc, char **argv) rte_config.master_lcore, thread_id, cpuset, ret == 0 ? "" : "..."); +#ifndef RTE_NEXT_ABI if (rte_eal_dev_init() < 0) rte_panic("Cannot init pmd devices\n"); +#endif RTE_LCORE_FOREACH_SLAVE(i) { @@ -617,6 +619,11 @@ rte_eal_init(int argc, char **argv) rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER); rte_eal_mp_wait_lcore(); +#ifdef RTE_NEXT_ABI + if (rte_eal_dev_init() < 0) + rte_panic("Cannot probe vdev devices\n"); +#endif + /* Probe & Initialize PCI devices */ if (rte_eal_pci_probe()) rte_panic("Cannot probe PCI\n"); diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h index 88c1a19..df69e28 100644 --- a/lib/librte_eal/common/include/rte_dev.h +++ b/lib/librte_eal/common/include/rte_dev.h @@ -156,7 +156,7 @@ void rte_eal_driver_register(struct rte_driver *driver); void rte_eal_driver_unregister(struct rte_driver *driver); /** - * Initalize all the registered drivers in this process + * Scan all devargs and attach to drivers if available */ int rte_eal_dev_init(void); diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 62241ee..95313af 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -834,8 +834,10 @@ rte_eal_init(int argc, char **argv) rte_config.master_lcore, (int)thread_id, cpuset, ret == 0 ? "" : "..."); +#ifndef RTE_NEXT_ABI if (rte_eal_dev_init() < 0) rte_panic("Cannot init pmd devices\n"); +#endif RTE_LCORE_FOREACH_SLAVE(i) { @@ -873,6 +875,11 @@ rte_eal_init(int argc, char **argv) rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER); rte_eal_mp_wait_lcore(); +#ifdef RTE_NEXT_ABI + if (rte_eal_dev_init() < 0) + rte_panic("Cannot probe vdev devices\n"); +#endif + /* Probe & Initialize PCI devices */ if (rte_eal_pci_probe()) rte_panic("Cannot probe PCI\n"); -- 1.9.1