-----Original Message----- > Date: Wed, 18 Oct 2017 18:09:02 +0530 > From: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > To: bruce.richard...@intel.com, harry.van.haa...@intel.com, > gage.e...@intel.com, hemant.agra...@nxp.com, nipun.gu...@nxp.com, > nikhil....@intel.com, santosh.shu...@caviumnetworks.com, > jerin.ja...@caviumnetworks.com > Cc: dev@dpdk.org, Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > Subject: [PATCH 2/8] app/eventdev: modify app setup to support ethdev > X-Mailer: git-send-email 2.7.4 > > Modify app setup to accommodate event port and queue setup based on the > number of ethernet ports. > > Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > --- > app/test-eventdev/test_perf_atq.c | 18 ++++++++++++++---- > app/test-eventdev/test_perf_common.c | 27 +++++++++++++++++++++------ > app/test-eventdev/test_perf_common.h | 1 + > app/test-eventdev/test_perf_queue.c | 21 ++++++++++++++++----- > 4 files changed, 52 insertions(+), 15 deletions(-) > > diff --git a/app/test-eventdev/test_perf_atq.c > b/app/test-eventdev/test_perf_atq.c > index 0e9f2db..f6fd5d9 100644 > --- a/app/test-eventdev/test_perf_atq.c > +++ b/app/test-eventdev/test_perf_atq.c > @@ -185,10 +185,20 @@ perf_atq_eventdev_setup(struct evt_test *test, struct > evt_options *opt) > { > int ret; > uint8_t queue; > + uint8_t nb_queues;
unnecessary space between uint8_t and nb_queues. > + uint8_t nb_ports; > + RTE_SET_USED(test); test being used down. So RTE_SET_USED may not need here. > + > + nb_ports = evt_nr_active_lcores(opt->wlcores); > + nb_ports += opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ? 0 : > + evt_nr_active_lcores(opt->plcores); > + > + nb_queues = opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ? > + rte_eth_dev_count() : atq_nb_event_queues(opt); > > const struct rte_event_dev_config config = { > - .nb_event_queues = atq_nb_event_queues(opt), > - .nb_event_ports = perf_nb_event_ports(opt), > + .nb_event_queues = nb_queues, > + .nb_event_ports = nb_ports, > .nb_events_limit = 4096, > .nb_event_queue_flows = opt->nb_flows, > .nb_event_port_dequeue_depth = 128, > @@ -208,7 +218,7 @@ perf_atq_eventdev_setup(struct evt_test *test, struct > evt_options *opt) > .nb_atomic_order_sequences = opt->nb_flows, > }; > /* queue configurations */ > - for (queue = 0; queue < atq_nb_event_queues(opt); queue++) { > + for (queue = 0; queue < nb_queues; queue++) { > ret = rte_event_queue_setup(opt->dev_id, queue, &q_conf); > if (ret) { > evt_err("failed to setup queue=%d", queue); > @@ -217,7 +227,7 @@ perf_atq_eventdev_setup(struct evt_test *test, struct > evt_options *opt) > } > > ret = perf_event_dev_port_setup(test, opt, 1 /* stride */, > - atq_nb_event_queues(opt)); > + nb_queues); > if (ret) > return ret; > > diff --git a/app/test-eventdev/test_perf_common.c > b/app/test-eventdev/test_perf_common.c > index 9d2865e..f7961be 100644 > --- a/app/test-eventdev/test_perf_common.c > +++ b/app/test-eventdev/test_perf_common.c > @@ -88,6 +88,18 @@ perf_producer(void *arg) > return 0; > } > > +static int > +perf_producer_wrapper(void *arg) > +{ > + RTE_SET_USED(arg); arg has been used in next line. > + struct prod_data *p = arg; > + struct test_perf *t = p->t; > + /* Launch the producer function only in case of synthetic producer. */ > + if (t->opt->prod_type == EVT_PROD_TYPE_SYNT) > + return perf_producer(arg); > + return 0; > +} > + Other than that, it looks good to me Acked-by: Jerin Jacob <jerin.ja...@caviumnetworks.com>