> From: Pavan Nikhilesh [mailto:pbhagavat...@caviumnetworks.com] > Sent: Wednesday, January 10, 2018 2:52 PM > To: jerin.ja...@caviumnetworks.com; santosh.shu...@caviumnetworks.com; Van > Haaren, Harry <harry.van.haa...@intel.com>; Eads, Gage > <gage.e...@intel.com>; hemant.agra...@nxp.com; nipun.gu...@nxp.com; Ma, > Liang J <liang.j...@intel.com> > Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > Subject: [dpdk-dev] [PATCH v3 08/12] app/eventdev: add pipeline queue test > > This is a pipeline queue test case that aims at testing the following: > 1. Measure the end-to-end performance of an event dev with a ethernet dev. > 2. Maintain packet ordering from Rx to Tx. > > The pipeline queue test configures the eventdev with Q queues and P ports, > where Q is (nb_ethdev * nb_stages) + nb_ethdev and P is nb_workers.
Why (nb_ethdev * nb_stages) number of Queues? I had expected if the test is for eventdev with Q queues, P ports, that that Q number of stages is all that is required, (possibly with +1 for TX queue, iirc some HW doesn't require the TX Queue). Am I missing something here? I've left the code snippet I don't understand below. <snip> > Note: The --prod_type_ethdev is mandatory for running the application. Mandatory arguments seem pointless to me, unless there are other valid options to choose from. > + > +static int > +pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options > *opt) > +{ > + int ret; > + int nb_ports; > + int nb_queues; > + int nb_stages = opt->nb_stages; > + uint8_t queue; > + struct rte_event_dev_info info; > + > + nb_ports = evt_nr_active_lcores(opt->wlcores); > + nb_queues = rte_eth_dev_count() * (nb_stages); As per comment above, this is what I don't understand? Why more queues than stages?