[dpdk-dev] [PATCH v2 10/12] app/eventdev: add pipeline atq test

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Jan 8 15:15:30 CET 2018


-----Original Message-----
> Date: Tue, 19 Dec 2017 03:14:03 +0530
> From: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> To: jerin.jacob at caviumnetworks.com, santosh.shukla at caviumnetworks.com,
>  bruce.richardson at intel.com, harry.van.haaren at intel.com,
>  gage.eads at intel.com, hemant.agrawal at nxp.com, nipun.gupta at nxp.com,
>  liang.j.ma at intel.com
> Cc: dev at dpdk.org, Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH v2 10/12] app/eventdev: add pipeline atq test
> X-Mailer: git-send-email 2.14.1
> 
> This is a pipeline test case that aims at testing the following with
> ``all types queue`` eventdev scheme.
> 1. Measure the end-to-end performance of an event dev with a ethernet dev.
> 2. Maintain packet ordering from Rx to Tx.
> 
> The atq queue test functions as same as ``pipeline_queue`` test.
> The difference is, It uses, ``all type queue scheme`` instead of separate
> queues for each stage and thus reduces the number of queues required to
> realize the use case.
> 
> Note: The --prod_type_ethdev is mandatory for running the application.
> 
> Example command to run pipeline atq test:
> sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
> --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=ao
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>

> +
> +#include "test_pipeline_common.h"
> +
> +/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
> +
> +static __rte_always_inline int
> +pipeline_atq_nb_event_queues(struct evt_options *opt)
> +{
> +	uint16_t eth_count = rte_eth_dev_count();
> +
> +	return (eth_count * opt->nb_stages);
> +}
> +
> +static int
> +worker_wrapper(void *arg)
> +{
> +	RTE_SET_USED(arg);
> +	rte_panic("invalid worker\n");
> +}
> +
> +static int
> +pipeline_atq_launch_lcores(struct evt_test *test, struct evt_options *opt)
> +{
> +	return pipeline_launch_lcores(test, opt, worker_wrapper);
> +}
> +
> +static int
> +pipeline_atq_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);

nb_queues = rte_eth_dev_count(); for atq.


More information about the dev mailing list