From: Nikhil Rao Date: Sun, 3 Jun 2018 11:41:08 +0000 (+0530) Subject: eventdev: fix missing update to Rx adaper WRR position X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=524dc20023b2e00cd9a021ae60cb4b91f51786e6;p=dpdk.git eventdev: fix missing update to Rx adaper WRR position After dequeuing Rx packets and enqueueing them to the temporary buffer towards eventdev, the packet Rx loop exits if the temporary buffer is full but the current WRR position is not saved. Save away the current value of the WRR position, so packets are dequeued from the correct Rx queue in the next invocation. Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation") Cc: stable@dpdk.org Suggested-by: Gage Eads Signed-off-by: Nikhil Rao --- diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c index 273df1e9b3..c2b5d4d83a 100644 --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c @@ -517,8 +517,10 @@ eth_rx_poll(struct rte_event_eth_rx_adapter *rx_adapter) */ if (buf->count >= BATCH_SIZE) flush_event_buffer(rx_adapter); - if (BATCH_SIZE > (ETH_EVENT_BUFFER_SIZE - buf->count)) + if (BATCH_SIZE > (ETH_EVENT_BUFFER_SIZE - buf->count)) { + rx_adapter->wrr_pos = wrr_pos; break; + } stats->rx_poll_count++; n = rte_eth_rx_burst(d, qid, mbufs, BATCH_SIZE);