From: Thomas Monjalon Date: Fri, 26 Sep 2014 11:42:51 +0000 (+0200) Subject: examples: do not probe pci twice X-Git-Tag: spdx-start~10383 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=68fa37e021a1c44c6b2a947cefc20eb61c729947;p=dpdk.git examples: do not probe pci twice Since commit a155d430119 ("support link bonding device initialization"), rte_eal_pci_probe() is called in rte_eal_init(). So it doesn't have to be called by application anymore. It has been fixed for testpmd in commit 2950a769315, and this patch remove it from other applications. Signed-off-by: Thomas Monjalon Acked-by: David Marchand Acked-by: Neil Horman --- diff --git a/app/test-pipeline/init.c b/app/test-pipeline/init.c index a4337d0dbc..17b6d23dce 100644 --- a/app/test-pipeline/init.c +++ b/app/test-pipeline/init.c @@ -228,11 +228,6 @@ app_init_ports(void) { uint32_t i; - /* Init driver */ - RTE_LOG(INFO, USER1, "Initializing the PMD driver ...\n"); - if (rte_eal_pci_probe() < 0) - rte_panic("Cannot probe PCI\n"); - /* Init NIC ports, then start the ports */ for (i = 0; i < app.n_ports; i++) { uint8_t port; diff --git a/app/test/test_kni.c b/app/test/test_kni.c index 2860bf3bff..108113174b 100644 --- a/app/test/test_kni.c +++ b/app/test/test_kni.c @@ -508,11 +508,6 @@ test_kni(void) printf("fail to create mempool for kni\n"); return -1; } - ret = rte_eal_pci_probe(); - if (ret < 0) { - printf("fail to probe PCI devices\n"); - return -1; - } nb_ports = rte_eth_dev_count(); if (nb_ports == 0) { diff --git a/examples/dpdk_qat/main.c b/examples/dpdk_qat/main.c index 1599a0a275..c130ea3249 100644 --- a/examples/dpdk_qat/main.c +++ b/examples/dpdk_qat/main.c @@ -696,9 +696,6 @@ MAIN(int argc, char **argv) if (ret < 0) return -1; - if (rte_eal_pci_probe() < 0) - rte_panic("Cannot probe PCI\n"); - if (check_lcore_params() < 0) rte_panic("check_lcore_params failed\n"); diff --git a/examples/exception_path/main.c b/examples/exception_path/main.c index f286bf205c..b4859764ad 100644 --- a/examples/exception_path/main.c +++ b/examples/exception_path/main.c @@ -567,11 +567,6 @@ main(int argc, char** argv) return -1; } - /* Scan PCI bus for recognised devices */ - ret = rte_eal_pci_probe(); - if (ret < 0) - FATAL_ERROR("Could not probe PCI (%d)", ret); - /* Get number of ports found in scan */ nb_sys_ports = rte_eth_dev_count(); if (nb_sys_ports == 0) diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c index 6d309b5938..75028aca98 100644 --- a/examples/ip_fragmentation/main.c +++ b/examples/ip_fragmentation/main.c @@ -871,9 +871,6 @@ MAIN(int argc, char **argv) if (ret < 0) rte_exit(EXIT_FAILURE, "Invalid arguments"); - if (rte_eal_pci_probe() < 0) - rte_panic("Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports > RTE_MAX_ETHPORTS) nb_ports = RTE_MAX_ETHPORTS; diff --git a/examples/ip_pipeline/init.c b/examples/ip_pipeline/init.c index e3ebd464d1..cb7568b66e 100644 --- a/examples/ip_pipeline/init.c +++ b/examples/ip_pipeline/init.c @@ -474,11 +474,6 @@ app_init_ports(void) { uint32_t i; - /* Init driver */ - RTE_LOG(INFO, USER1, "Initializing the PMD driver ...\n"); - if (rte_eal_pci_probe() < 0) - rte_panic("Cannot probe PCI\n"); - /* Init NIC ports, then start the ports */ for (i = 0; i < app.n_ports; i++) { uint32_t port; diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c index b6b4f599d8..9ba3f0a667 100644 --- a/examples/ip_reassembly/main.c +++ b/examples/ip_reassembly/main.c @@ -1078,9 +1078,6 @@ MAIN(int argc, char **argv) if (ret < 0) rte_exit(EXIT_FAILURE, "Invalid IP reassembly parameters\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports > RTE_MAX_ETHPORTS) nb_ports = RTE_MAX_ETHPORTS; diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c index 35bd842a2c..5c2ab8691c 100644 --- a/examples/ipv4_multicast/main.c +++ b/examples/ipv4_multicast/main.c @@ -754,9 +754,6 @@ MAIN(int argc, char **argv) if (clone_pool == NULL) rte_exit(EXIT_FAILURE, "Cannot init clone mbuf pool\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No physical ports!\n"); diff --git a/examples/kni/main.c b/examples/kni/main.c index 7df1b36468..69d1ef21d3 100644 --- a/examples/kni/main.c +++ b/examples/kni/main.c @@ -889,11 +889,6 @@ main(int argc, char** argv) return -1; } - /* Scan PCI bus for recognised devices */ - ret = rte_eal_pci_probe(); - if (ret < 0) - rte_exit(EXIT_FAILURE, "Could not probe PCI (%d)\n", ret); - /* Get number of ports found in scan */ nb_sys_ports = rte_eth_dev_count(); if (nb_sys_ports == 0) diff --git a/examples/l2fwd-ivshmem/host/host.c b/examples/l2fwd-ivshmem/host/host.c index 02e65b979e..1800b3a19b 100644 --- a/examples/l2fwd-ivshmem/host/host.c +++ b/examples/l2fwd-ivshmem/host/host.c @@ -716,9 +716,6 @@ int main(int argc, char **argv) if (l2fwd_ivshmem_pktmbuf_pool == NULL) rte_exit(EXIT_FAILURE, "Cannot init mbuf pool\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c index 4069d7cc3c..e16c9149f9 100644 --- a/examples/l2fwd/main.c +++ b/examples/l2fwd/main.c @@ -615,9 +615,6 @@ MAIN(int argc, char **argv) if (l2fwd_pktmbuf_pool == NULL) rte_exit(EXIT_FAILURE, "Cannot init mbuf pool\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c index bafd26a886..4dd6b34191 100644 --- a/examples/l3fwd-acl/main.c +++ b/examples/l3fwd-acl/main.c @@ -1995,9 +1995,6 @@ MAIN(int argc, char **argv) if (ret < 0) rte_exit(EXIT_FAILURE, "init_lcore_rx_queues failed\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports > RTE_MAX_ETHPORTS) nb_ports = RTE_MAX_ETHPORTS; diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index a9d5c80bc0..3bf63ffb9a 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -1547,9 +1547,6 @@ MAIN(int argc, char **argv) rte_exit(EXIT_FAILURE, "init_lcore_rx_queues failed\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports > RTE_MAX_ETHPORTS) nb_ports = RTE_MAX_ETHPORTS; diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c index 7b1e08a8f6..f567aa8b38 100644 --- a/examples/l3fwd-vf/main.c +++ b/examples/l3fwd-vf/main.c @@ -1007,9 +1007,6 @@ MAIN(int argc, char **argv) if (ret < 0) rte_exit(EXIT_FAILURE, "init_lcore_rx_queues failed\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports > RTE_MAX_ETHPORTS) nb_ports = RTE_MAX_ETHPORTS; diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index e3e3463628..01220e3be7 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -2474,10 +2474,6 @@ MAIN(int argc, char **argv) if (ret < 0) rte_exit(EXIT_FAILURE, "init_lcore_rx_queues failed\n"); - - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports > RTE_MAX_ETHPORTS) nb_ports = RTE_MAX_ETHPORTS; diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c index 1a8755155d..b8b757120d 100644 --- a/examples/link_status_interrupt/main.c +++ b/examples/link_status_interrupt/main.c @@ -663,9 +663,6 @@ MAIN(int argc, char **argv) if (lsi_pktmbuf_pool == NULL) rte_panic("Cannot init mbuf pool\n"); - if (rte_eal_pci_probe() < 0) - rte_panic("Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports == 0) rte_panic("No Ethernet port - bye\n"); diff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.c index 2f00a7085c..a30070656c 100644 --- a/examples/load_balancer/init.c +++ b/examples/load_balancer/init.c @@ -450,10 +450,6 @@ app_init_nics(void) int ret; uint32_t n_rx_queues, n_tx_queues; - if (rte_eal_pci_probe() < 0) { - rte_panic("Cannot probe PCI\n"); - } - /* Init NIC ports and queues, then start the ports */ for (port = 0; port < APP_MAX_NIC_PORTS; port ++) { struct rte_mempool *pool; diff --git a/examples/multi_process/client_server_mp/mp_client/client.c b/examples/multi_process/client_server_mp/mp_client/client.c index ee2338c191..af8f819d95 100644 --- a/examples/multi_process/client_server_mp/mp_client/client.c +++ b/examples/multi_process/client_server_mp/mp_client/client.c @@ -65,7 +65,6 @@ #include #include "common.h" -#include "init_drivers.h" /* Number of packets to attempt to read from queue */ #define PKT_READ_SIZE ((uint16_t)32) @@ -240,8 +239,6 @@ main(int argc, char *argv[]) if (parse_app_args(argc, argv) < 0) rte_exit(EXIT_FAILURE, "Invalid command-line arguments\n"); - if (init_drivers() < 0) - rte_exit(EXIT_FAILURE, "Cannot get NIC ports\n"); if (rte_eth_dev_count() == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); diff --git a/examples/multi_process/client_server_mp/mp_server/init.c b/examples/multi_process/client_server_mp/mp_server/init.c index a84d1eed7a..30518c069b 100644 --- a/examples/multi_process/client_server_mp/mp_server/init.c +++ b/examples/multi_process/client_server_mp/mp_server/init.c @@ -66,7 +66,6 @@ #include #include "common.h" -#include "init_drivers.h" #include "args.h" #include "init.h" #include "main.h" @@ -308,11 +307,6 @@ init(int argc, char *argv[]) argc -= retval; argv += retval; - /* initialise the nic drivers */ - retval = init_drivers(); - if (retval != 0) - rte_exit(EXIT_FAILURE, "Cannot initialise drivers\n"); - /* get total number of ports */ total_ports = rte_eth_dev_count(); diff --git a/examples/multi_process/client_server_mp/shared/init_drivers.h b/examples/multi_process/client_server_mp/shared/init_drivers.h deleted file mode 100644 index 3c9881fbaa..0000000000 --- a/examples/multi_process/client_server_mp/shared/init_drivers.h +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _INIT_DRIVERS_H_ -#define _INIT_DRIVERS_H_ - -/** - * Initialise all 1G and 10G NICs available - */ -static inline int -init_drivers(void) -{ - if (rte_eal_pci_probe() < 0) - return -1; - - return 0; -} - -#endif diff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c index 03fba55ad9..c887b633c4 100644 --- a/examples/multi_process/l2fwd_fork/main.c +++ b/examples/multi_process/l2fwd_fork/main.c @@ -1050,9 +1050,6 @@ MAIN(int argc, char **argv) for (i = 0; i < RTE_MAX_LCORE; i++) lcore_resource[i].lcore_id = i; - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c index b8f31b31a2..504a27aae6 100644 --- a/examples/multi_process/symmetric_mp/main.c +++ b/examples/multi_process/symmetric_mp/main.c @@ -461,16 +461,14 @@ main(int argc, char **argv) argc -= ret; argv += ret; - /* probe to determine the NIC devices available */ - proc_type = rte_eal_process_type(); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); + /* determine the NIC devices available */ if (rte_eth_dev_count() == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); /* parse application arguments (those after the EAL ones) */ smp_parse_args(argc, argv); + proc_type = rte_eal_process_type(); mp = (proc_type == RTE_PROC_SECONDARY) ? rte_mempool_lookup(_SMP_MBUF_POOL) : rte_mempool_create(_SMP_MBUF_POOL, NB_MBUFS, MBUF_SIZE, diff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_compat/bridge/bridge.c index 898277e532..d9ceb423e1 100644 --- a/examples/netmap_compat/bridge/bridge.c +++ b/examples/netmap_compat/bridge/bridge.c @@ -294,10 +294,6 @@ int main(int argc, char *argv[]) if (ports.num == 0) rte_exit(EXIT_FAILURE, "no ports specified\n"); - err = rte_eal_pci_probe(); - if (err < 0) - rte_exit(EXIT_FAILURE, "rte_eal_pci_probe(): error %d\n", err); - if (rte_eth_dev_count() < 1) rte_exit(EXIT_FAILURE, "Not enough ethernet ports available\n"); diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c index b4b8c4f016..c02ac50851 100644 --- a/examples/qos_meter/main.c +++ b/examples/qos_meter/main.c @@ -386,9 +386,6 @@ MAIN(int argc, char **argv) if (pool == NULL) rte_exit(EXIT_FAILURE, "Buffer pool creation error\n"); - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "PCI probe error\n"); - /* NIC init */ ret = rte_eth_dev_configure(port_rx, 1, 1, &port_conf); if (ret < 0) diff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c index cbfd63f0c3..f38802e125 100644 --- a/examples/qos_sched/init.c +++ b/examples/qos_sched/init.c @@ -304,9 +304,6 @@ int app_init(void) char ring_name[MAX_NAME_LEN]; char pool_name[MAX_NAME_LEN]; - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - if (rte_eth_dev_count() == 0) rte_exit(EXIT_FAILURE, "No Ethernet port - bye\n"); diff --git a/examples/quota_watermark/qw/init.c b/examples/quota_watermark/qw/init.c index a7f8c8504e..9bc5db3368 100644 --- a/examples/quota_watermark/qw/init.c +++ b/examples/quota_watermark/qw/init.c @@ -136,13 +136,6 @@ void configure_eth_port(uint8_t port_id) void init_dpdk(void) { - int ret; - - /* Bind the drivers to usable devices */ - ret = rte_eal_pci_probe(); - if (ret < 0) - rte_exit(EXIT_FAILURE, "rte_eal_pci_probe(): error %d\n", ret); - if (rte_eth_dev_count() < 2) rte_exit(EXIT_FAILURE, "Not enough ethernet port available\n"); } diff --git a/examples/vhost/main.c b/examples/vhost/main.c index 85ee8b8f11..c81b8f5179 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -3549,9 +3549,6 @@ MAIN(int argc, char *argv[]) if (ret < 0) rte_exit(EXIT_FAILURE, "Invalid argument\n"); - if (rte_eal_pci_probe() != 0) - rte_exit(EXIT_FAILURE, "Error with NIC driver initialization\n"); - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) if (rte_lcore_is_enabled(lcore_id)) lcore_ids[core_id ++] = lcore_id; diff --git a/examples/vhost_xen/main.c b/examples/vhost_xen/main.c index 56ffec8168..498de06204 100644 --- a/examples/vhost_xen/main.c +++ b/examples/vhost_xen/main.c @@ -1466,9 +1466,6 @@ MAIN(int argc, char *argv[]) if (ret < 0) rte_exit(EXIT_FAILURE, "Invalid argument\n"); - if (rte_eal_pci_probe() != 0) - rte_exit(EXIT_FAILURE, "Error with NIC driver initialization\n"); - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) if (rte_lcore_is_enabled(lcore_id)) lcore_ids[core_id ++] = lcore_id; diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c index 35df23407a..a162d8b5d4 100644 --- a/examples/vmdq/main.c +++ b/examples/vmdq/main.c @@ -597,9 +597,6 @@ MAIN(int argc, char *argv[]) if (ret < 0) rte_exit(EXIT_FAILURE, "Invalid VMDQ argument\n"); - if (rte_eal_pci_probe() != 0) - rte_exit(EXIT_FAILURE, "Error with NIC driver initialization\n"); - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) if (rte_lcore_is_enabled(lcore_id)) lcore_ids[core_id ++] = lcore_id;