#
f0b68c0b |
| 13-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: clean up worker state before exit
Event ports are configured to implicitly release the scheduler contexts currently held in the next call to rte_event_dequeue_burst(). A worker core mi
app/eventdev: clean up worker state before exit
Event ports are configured to implicitly release the scheduler contexts currently held in the next call to rte_event_dequeue_burst(). A worker core might still hold a scheduling context during exit, as the next call to rte_event_dequeue_burst() is never made. This might lead to deadlock based on the worker exit timing and when there are very less number of flows.
Add clean up function to release any scheduling contexts held by the worker by using RTE_EVENT_OP_RELEASE.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
a734e738 |
| 13-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: simplify signal handling and teardown
Remove rte_*_dev calls from signal handler callback as signal handlers are supposed to be light weight.
Split ethdev teardown into Rx and Tx sect
app/eventdev: simplify signal handling and teardown
Remove rte_*_dev calls from signal handler callback as signal handlers are supposed to be light weight.
Split ethdev teardown into Rx and Tx sections, wait for workers to finish processing after disabling Rx to allow workers to complete processing currently held packets.
Verified SW event device on ARM64 using the following command:
./build/app/dpdk-test-eventdev -l 7-23 -s 0xf00 --vdev=event_sw0 -a 0002:02:00.0 -- --prod_type_ethdev --nb_pkts=0 --verbose 2 --test=pipeline_queue --stlist=o --wlcores 16-23
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
2eaa37b8 |
| 31-Mar-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add vector mode in pipeline test
Add event vector support in pipeline tests. By default this mode is disabled, it can be enabled by using the option --enable_vector. example: dpdk-tes
app/eventdev: add vector mode in pipeline test
Add event vector support in pipeline tests. By default this mode is disabled, it can be enabled by using the option --enable_vector. example: dpdk-test-eventdev -l 7-23 -s 0xff00 -- --prod_type_ethdev --nb_pkts=0 --verbose 2 --test=pipeline_atq --stlist=a --wlcores=20-23 --enable_vector
Additional options to configure vector size and vector timeout are also implemented and can be used by specifying --vector_size and --vector_tmo_ns
This patch also adds a new option to set the number of Rx queues configured per event eth rx adapter. example: dpdk-test-eventdev -l 7-23 -s 0xff00 -- --prod_type_ethdev --nb_pkts=0 --verbose 2 --test=pipeline_atq --stlist=a --wlcores=20-23 --nb_eth_queues 4
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
21b1ca48 |
| 22-Jan-2021 |
Feifei Wang <feifei.wang2@arm.com> |
app/eventdev: remove redundant enqueue in burst Tx
For eventdev pipeline test, in burst_tx cases, there is no needed to set ev.op as RTE_EVENT_OP_RELEASE and call pipeline_event_enqueue_burst to rel
app/eventdev: remove redundant enqueue in burst Tx
For eventdev pipeline test, in burst_tx cases, there is no needed to set ev.op as RTE_EVENT_OP_RELEASE and call pipeline_event_enqueue_burst to release events. This is because for tx mode(internal_port=true), the capability "implicit_release" of dev is enabled, and the app can release events by "rte_event_dequeue_burst" rather than enqueue.
Fixes: 314bcf58ca8f ("app/eventdev: add pipeline queue worker functions") Cc: stable@dpdk.org
Signed-off-by: Feifei Wang <feifei.wang2@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
e0c05737 |
| 22-Jan-2021 |
Feifei Wang <feifei.wang2@arm.com> |
app/eventdev: adjust event count order for pipeline test
For the fwd mode (internal_port = false) in pipeline test, processed-pkts increment should after enqueue. However, in multi_stage_fwd and mul
app/eventdev: adjust event count order for pipeline test
For the fwd mode (internal_port = false) in pipeline test, processed-pkts increment should after enqueue. However, in multi_stage_fwd and multi_stage_burst_fwd, "w->processed_pkts" is increased before enqueue.
To fix this, move "w->processed_pkts" increment after enqueue, and then the main core can load the correct number of processed packets.
Fixes: 314bcf58ca8f ("app/eventdev: add pipeline queue worker functions") Cc: stable@dpdk.org
Signed-off-by: Feifei Wang <feifei.wang2@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
f0959283 |
| 29-Mar-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add option for global dequeue timeout
Add option to provide a global dequeue timeout that is used to create the eventdev. The dequeue timeout provided will be common across all the wor
app/eventdev: add option for global dequeue timeout
Add option to provide a global dequeue timeout that is used to create the eventdev. The dequeue timeout provided will be common across all the worker ports. If the eventdev hardware supports power management through dequeue timeout then this option can be used for verifying power demands at various packet rates.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
66b82db2 |
| 12-Mar-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: start event producers after eventdev
Start event producers after eventdev i.e. consumer is started as in some architectures it might lead to undefined behaviour or events being dropped
app/eventdev: start event producers after eventdev
Start event producers after eventdev i.e. consumer is started as in some architectures it might lead to undefined behaviour or events being dropped.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
43d162bc |
| 26-Nov-2018 |
Thomas Monjalon <thomas@monjalon.net> |
fix dpdk.org URLs
The DPDK website has a new URL scheme since June 2018.
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: John McNamara <john.mcnamara@intel.com>
|
#
032a965a |
| 24-Sep-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
app/eventdev: support Tx adapter
Convert existing Tx service based pipeline to Tx adapter based APIs and simplify worker functions.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
app/eventdev: support Tx adapter
Convert existing Tx service based pipeline to Tx adapter based APIs and simplify worker functions.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
f26320a6 |
| 24-Sep-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
app/eventdev: fix minor typos
Fix minor typos.
Fixes: 314bcf58ca8f ("app/eventdev: add pipeline queue worker functions") Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetw
app/eventdev: fix minor typos
Fix minor typos.
Fixes: 314bcf58ca8f ("app/eventdev: add pipeline queue worker functions") Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
d9a42a69 |
| 05-Apr-2018 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: deprecate port count function
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the applica
ethdev: deprecate port count function
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used.
In order to fix this common mistake in all external applications, the function rte_eth_dev_count is deprecated, while introducing the new functions rte_eth_dev_count_avail and rte_eth_dev_count_total.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
535c630c |
| 24-Jan-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
app/eventdev: fix port dequeue depth configuration
The port dequeue depth value has to be compared against the maximum allowed dequeue depth reported by the event drivers.
Fixes: 3617aae53f92 ("app
app/eventdev: fix port dequeue depth configuration
The port dequeue depth value has to be compared against the maximum allowed dequeue depth reported by the event drivers.
Fixes: 3617aae53f92 ("app/eventdev: add event Rx adapter setup")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
314bcf58 |
| 16-Jan-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
app/eventdev: add pipeline queue worker functions
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
|
#
d60b4185 |
| 16-Jan-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
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 pa
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>
show more ...
|