4. Event Adapter Motivation
eth0
Event
Device
Packet Flow
eth1 SW ThreadPMD Receive
SW
Thread
HW
Support
u Configuration of HW Dependent
Device to Eventdev Data Flows
u SW based data flow can be
common code
u Event Adapters
u Common set of APIs
u Eventdev PMD callbacks for HW path configuration
u Implementation of SW based data flow
4
6. Event Adapter Usage Overview
u Event Adapter instance associated with Event Device
u Eth Rx & Crypto Adapter Instance can handle multiple Ethdev/Cryptodevs
(across HW & SW transfer mechanisms)
Create Adapter
Event Device
Query
Capabilities
Event
Device
Device
(e.g.,
ethernet)
Configure device
output to Event
queue mapping
Device
Output
(e.g Rx
queue)
Event
Queue
Info
Start Adapter
6
7. Event Adapters & Service Cores
u Service Cores allow DPDK component to run on lcores with
minimal application changes
u Event adapter uses a Service Core for SW based transfers
u Application configures Service Core mapping
Device
Event Device
7
8. Ethernet Rx Adapter Usage
Ethdev
Eth Rx Adapter
Event Device
Q Q Q
Service
Core
ApplicationEAL
lcores u Configure Ethdev, Eventdev
u Create Adapter Instance
u Add Rx Queues and Event Info to Adapter
u Configure Service Core Mapping (if required)
u Start Adapter
8
9. Crypto Adapter (RFC)
u Event queue mapping is per Crypto QP
u SW implementation also supports per-mbuf Event Information
cryptodev Crypto
Adapter
Event
Info
mbuf
Event
Service Core
Crypto
OP eventdev
1
2
3
9
10. Crypto Adapter (RFC) Enqueue Mode
u Better performance for “Closed System” Event Devs
u Doesn’t have the risk of dropping an event
Crypto
Crypto
Adapter
(SW)
Event Device
Cryptodev
1
3
Pre-
Crypto
4
5
Post-
Crypto
62
RTE_OP_NEW
6
RTE_OP_FORWARD
Enqueue + Dequeue
Cryptodev
u RTE_OP_FORWARD v/s RTE_OP_NEW
Dequeue only
1
2
3
4
5
Pre-
Crypto
Post-
Crypto
Crypto
Adapter
(SW)
Event Device
10
11. Timer AdapterTimer Adapter (RFC)
Event Device
Service
Core
ApplicationEAL
lcores
Event Timer Adapter
Timer Library
1
2 3
4
5
u Configure Eventdev
u Create Adapter Instance
u Configure Service Core (if SW adapter)
u Start Adapter
u Arm Timers
Timer SW Adapter
11
12. Event Adapter Status
u Ethernet Rx Adapter available in 17.11 (special thanks to Jerin Jacob for his
contributions)
u Includes Cavium & NXP eventdevPMD support
u Timer Adapter, working on RFC feedback
u Crypto Adapter RFC posted
12