This patch extends the currently proposed libeventdev API with support for buffered enqueue operations.
This functionality can improve application performance when using event devices that benefit from bulk enqueue operations, but due to its architecture the application cannot easily combine its enqueue operations. For instance, consider a network application that dequeues a burst of events and then processes them individually, where each event may be processed and enqueued in a different codepath depending on its layer-3 or layer-4 protocol type. To take advantage of burst enqueues with the current eventdev API, the application would have to be modified with an ad-hoc buffering solution. This functionality can be achieved fairly simply in the eventdev itself, and in doing so reduces the amount of boilerplate code repeated among applications of the sort described. This patch applies on top of Jerin Jacob's eventdev API patchset[1]. [1] http://dpdk.org/ml/archives/dev/2016-November/050355.html Gage Eads (1): eventdev: add buffered enqueue and flush APIs lib/librte_eventdev/rte_eventdev.c | 29 ++++++++++ lib/librte_eventdev/rte_eventdev.h | 106 +++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) -- 1.9.1