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

Pavan Nikhilesh Bhagavatula pbhagavatula at caviumnetworks.com
Mon Dec 11 16:20:34 CET 2017


On Sun, Dec 10, 2017 at 06:03:07PM +0530, Jerin Jacob wrote:
> -----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
>

Agreed, but the name seems too long would test_pipeline_* be acceptable?

Thanks,
Pavan.

>
>


More information about the dev mailing list