numam-dpdk/app/test-eventdev
Pavan Nikhilesh d60b418503 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.

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 pipeline queue test:
sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
--test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=ao

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
2018-01-19 16:09:56 +01:00
..
evt_common.h app/eventdev: add service core configuration 2018-01-19 16:09:56 +01:00
evt_main.c app/eventdev: add packet distribution logs 2018-01-19 16:09:56 +01:00
evt_options.c app/eventdev: add ethernet device producer option 2018-01-19 16:09:56 +01:00
evt_options.h app/eventdev: add ethernet device producer option 2018-01-19 16:09:56 +01:00
evt_test.c app: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
evt_test.h app: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
Makefile app/eventdev: add pipeline queue test 2018-01-19 16:09:56 +01:00
parser.c update Cavium Inc copyright headers 2017-07-08 17:43:49 +02:00
parser.h app: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
test_order_atq.c app: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
test_order_common.c app: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
test_order_common.h app: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
test_order_queue.c app: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
test_perf_atq.c app/eventdev: fix event device queue count 2018-01-19 16:09:56 +01:00
test_perf_common.c app/eventdev: add packet distribution logs 2018-01-19 16:09:56 +01:00
test_perf_common.h app/eventdev: add event Rx adapter setup 2018-01-19 16:09:56 +01:00
test_perf_queue.c app/eventdev: fix event device queue count 2018-01-19 16:09:56 +01:00
test_pipeline_common.c app/eventdev: launch pipeline lcores 2018-01-19 16:09:56 +01:00
test_pipeline_common.h app/eventdev: launch pipeline lcores 2018-01-19 16:09:56 +01:00
test_pipeline_queue.c app/eventdev: add pipeline queue test 2018-01-19 16:09:56 +01:00