[dpdk-dev] [PATCH 3/4] app/eventdev: add perf pipeline test

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun Dec 10 13:33:07 CET 2017


-----Original Message-----
> Date: Thu, 30 Nov 2017 12:54:05 +0530
> From: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> To: jerin.jacobkollanukkaran at cavium.com, gage.eads at intel.com,
>  harry.van.haaren at intel.com, bruce.richardson at intel.com,
>  hemant.agrawal at nxp.com, nipun.gupta at nxp.com, nikhil.rao at intel.com
> Cc: dev at dpdk.org, Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH 3/4] app/eventdev: add perf pipeline test
> X-Mailer: git-send-email 2.14.1
> 
> This is a performance 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 perf pipeline test configures the eventdev with Q queues and P ports,
> where Q is nb_ethdev * nb_stages and P is nb_workers.
> 
> The user can choose the number of workers and number of stages through the
> --wlcores and the --stlist application command line arguments respectively.
> The probed ethernet devices act as producer(s) for this application.
> 
> The ethdevs are configured as event Rx adapters that enables them to
> injects events to eventdev based the first stage schedule type list
> requested by the user through --stlist the command line argument.
> 
> Based on the number of stages to process(selected through --stlist),
> the application forwards the event to next upstream queue and when it
> reaches last stage in the pipeline if the event type is ATOMIC it is
> enqueued onto ethdev Tx queue else to maintain ordering the event type is
> set to ATOMIC and enqueued onto the last stage queue.
> On packet Tx, application increments the number events processed and print
> periodically in one second to get the number of events processed in one
> second.
> 
> Note: The --prod_type_ethdev is mandatory for running the application.
> 
> Example command to run perf pipeline test:
> sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
> --test=perf_pipeline --wlcore=1 --prod_type_ethdev --stlist=ao
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> ---
>  app/test-eventdev/Makefile             |   1 +
>  app/test-eventdev/test_perf_pipeline.c | 548 +++++++++++++++++++++++++++++++++
>  2 files changed, 549 insertions(+)
>  create mode 100644 app/test-eventdev/test_perf_pipeline.c
> 
> diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
> index dcb2ac4..9bd8ecd 100644
> --- a/app/test-eventdev/Makefile
> +++ b/app/test-eventdev/Makefile
> @@ -50,5 +50,6 @@ SRCS-y += test_order_atq.c
>  SRCS-y += test_perf_common.c
>  SRCS-y += test_perf_queue.c
>  SRCS-y += test_perf_atq.c
> +SRCS-y += test_perf_pipeline.c

atq support is not available in sw driver. So please rework
this test to make separate fast path functions for queue and
atq like other performance tests in this directory.
This will further reduce the complexity in fast path and
Please split the files also to depict the model.Something like,

test_perf_pipeline_common.c
test_perf_pipeline_queue.c
test_perf_pipeline_atq.c





More information about the dev mailing list