[dpdk-dev] [PATCH] event/dsw: immediately flush buffers on zero-sized enqueue

Mattias Rönnblom mattias.ronnblom at ericsson.com
Tue Dec 17 12:13:44 CET 2019


Fix DSW's rte_event_enqueue_burst(), so that a call with a zero-sized
event array immediately flushes the port's output buffers. Prior to
this patch, the flush operation would be deferred to the next enqueue
or dequeue call, which is inconsistent with DSW documentation.

Fixes: 1c8e3caa3bfb ("event/dsw: add event scheduling and device start/stop")
Cc: stable at dpdk.org

Signed-off-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
---
 drivers/event/dsw/dsw_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index 61a66fabf..1641c2d06 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -1047,6 +1047,7 @@ dsw_event_enqueue_burst_generic(void *port, const struct rte_event events[],
 	 */
 	if (unlikely(events_len == 0)) {
 		dsw_port_note_op(source_port, DSW_MAX_PORT_OPS_PER_BG_TASK);
+		dsw_port_flush_out_buffers(dsw, port);
 		return 0;
 	}
 
-- 
2.17.1



More information about the dev mailing list