From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavan Nikhilesh Bhagavatula Subject: Re: [PATCH 3/4] app/eventdev: add perf pipeline test Date: Mon, 11 Dec 2017 15:20:34 +0000 Message-ID: <20171211152033.GA26747@localhost.localdomain> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20171130072406.15605-3-pbhagavatula@caviumnetworks.com> <20171210123306.GL11770@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Jerin Jacob , harry.van.haaren@intel.com, bruce.richardson@intel.com, hemant.agrawal@nxp.com, nipun.gupta@nxp.com, nikhil.rao@intel.com, gage.eads@intel.com Return-path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0089.outbound.protection.outlook.com [104.47.38.89]) by dpdk.org (Postfix) with ESMTP id 2AAB71AEF5 for ; Mon, 11 Dec 2017 16:21:00 +0100 (CET) Content-Disposition: inline In-Reply-To: <20171210123306.GL11770@jerin> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 > > To: jerin.jacobkollanukkaran@cavium.com, gage.eads@intel.com, > > harry.van.haaren@intel.com, bruce.richardson@intel.com, > > hemant.agrawal@nxp.com, nipun.gupta@nxp.com, nikhil.rao@intel.com > > Cc: dev@dpdk.org, Pavan Nikhilesh > > 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 > > --- > > 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. > >