[dpdk-dev] [PATCH 0/2] Eventdev ABI changes
Timothy McDaniel
timothy.mcdaniel at intel.com
Fri Sep 11 18:58:25 CEST 2020
This series implements the eventdev ABI changes required by
the DLB and DLB2 PMDs. This ABI change was announced in the
20.08 release notes [1]. This patch was initially part of
the V1 DLB PMD patchset.
The DLB hardware does not conform exactly to the eventdev interface.
1) It has a limit on the number of queues that may be linked to a port.
2) Some ports are further restricted to a maximum of 1 linked queue.
3) It does not (currently) have the ability to carry the flow_id as part
of the event (QE) payload.
Due to the above, we would like to propose the following enhancements.
1) Add new fields to the rte_event_dev_info struct. These fields allow
the device to advertise its capabilities so that applications can take
the appropriate actions based on those capabilities.
2) Add a new field to the rte_event_dev_config struct. This field allows
the application to specify how many of its ports are limited to a single
link, or will be used in single link mode.
3) Replace the dedicated implicit_release_disabled field with a bit field
of explicit port capabilities. The implicit_release_disable functionality
is assigned to one bit, and a port-is-single-link-only attribute is
assigned to another, with the remaining bits available for future
assignment.
Note that it was requested that we split this app/test
changes out from the eventdev ABI changes. As a result,
neither of these patches will bujild without the other
also being applied.
[1] http://mails.dpdk.org/archives/dev/2020-August/177261.html
Timothy McDaniel (2):
eventdev: implement ABI change
eventdev: update app and examples for new eventdev ABI
app/test-eventdev/evt_common.h | 11 ++++
app/test-eventdev/test_order_atq.c | 30 +++++++---
app/test-eventdev/test_order_common.c | 1 +
app/test-eventdev/test_order_queue.c | 31 +++++++---
app/test/test_eventdev.c | 4 +-
drivers/event/dpaa/dpaa_eventdev.c | 3 +-
drivers/event/dpaa2/dpaa2_eventdev.c | 5 +-
drivers/event/dsw/dsw_evdev.c | 3 +-
drivers/event/octeontx/ssovf_evdev.c | 5 +-
drivers/event/octeontx2/otx2_evdev.c | 3 +-
drivers/event/opdl/opdl_evdev.c | 3 +-
drivers/event/skeleton/skeleton_eventdev.c | 5 +-
drivers/event/sw/sw_evdev.c | 8 ++-
drivers/event/sw/sw_evdev_selftest.c | 6 +-
.../eventdev_pipeline/pipeline_worker_generic.c | 6 +-
examples/eventdev_pipeline/pipeline_worker_tx.c | 1 +
examples/l2fwd-event/l2fwd_event_generic.c | 7 ++-
examples/l2fwd-event/l2fwd_event_internal_port.c | 6 +-
examples/l3fwd/l3fwd_event_generic.c | 7 ++-
examples/l3fwd/l3fwd_event_internal_port.c | 6 +-
lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 +-
lib/librte_eventdev/rte_eventdev.c | 66 +++++++++++++++++++---
lib/librte_eventdev/rte_eventdev.h | 51 ++++++++++++++---
lib/librte_eventdev/rte_eventdev_pmd_pci.h | 1 -
lib/librte_eventdev/rte_eventdev_trace.h | 7 ++-
lib/librte_eventdev/rte_eventdev_version.map | 4 +-
26 files changed, 218 insertions(+), 64 deletions(-)
--
2.6.4
More information about the dev
mailing list