X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-eventdev%2Ftest_perf_queue.c;h=29098580e7f1224c0134ede3e073e19804dd5eac;hb=c08a72c79c7fe7a8c0f616e8489286d511d88d27;hp=8efdec6f97eb7bf96c40d835f94e4a7ed00bc960;hpb=43d162bc168e5c66346acf9f464495a088a5a9f0;p=dpdk.git diff --git a/app/test-eventdev/test_perf_queue.c b/app/test-eventdev/test_perf_queue.c index 8efdec6f97..29098580e7 100644 --- a/app/test-eventdev/test_perf_queue.c +++ b/app/test-eventdev/test_perf_queue.c @@ -158,11 +158,13 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt) int ret; int nb_ports; int nb_queues; + uint16_t prod; struct rte_event_dev_info dev_info; + struct test_perf *t = evt_test_priv(test); nb_ports = evt_nr_active_lcores(opt->wlcores); nb_ports += opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR || - opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR ? 0 : + opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR ? 0 : evt_nr_active_lcores(opt->plcores); nb_queues = perf_queue_nb_event_queues(opt); @@ -174,18 +176,7 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt) return ret; } - const struct rte_event_dev_config config = { - .nb_event_queues = nb_queues, - .nb_event_ports = nb_ports, - .nb_events_limit = dev_info.max_num_events, - .nb_event_queue_flows = opt->nb_flows, - .nb_event_port_dequeue_depth = - dev_info.max_event_port_dequeue_depth, - .nb_event_port_enqueue_depth = - dev_info.max_event_port_enqueue_depth, - }; - - ret = rte_event_dev_configure(opt->dev_id, &config); + ret = evt_configure_eventdev(opt, nb_queues, nb_ports); if (ret) { evt_err("failed to configure eventdev %d", opt->dev_id); return ret; @@ -251,6 +242,35 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt) return ret; } + if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) { + RTE_ETH_FOREACH_DEV(prod) { + ret = rte_eth_dev_start(prod); + if (ret) { + evt_err("Ethernet dev [%d] failed to start. Using synthetic producer", + prod); + return ret; + } + + ret = rte_event_eth_rx_adapter_start(prod); + if (ret) { + evt_err("Rx adapter[%d] start failed", prod); + return ret; + } + printf("%s: Port[%d] using Rx adapter[%d] started\n", + __func__, prod, prod); + } + } else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) { + for (prod = 0; prod < opt->nb_timer_adptrs; prod++) { + ret = rte_event_timer_adapter_start( + t->timer_adptr[prod]); + if (ret) { + evt_err("failed to Start event timer adapter %d" + , prod); + return ret; + } + } + } + return 0; }