From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH] eventdev: fix missing update to Rx adaper WRR position Date: Mon, 11 Jun 2018 17:45:44 +0530 Message-ID: <20180611121542.GA8358@jerin> References: <1528026068-45239-1-git-send-email-nikhil.rao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, stable@dpdk.org To: Nikhil Rao Return-path: Content-Disposition: inline In-Reply-To: <1528026068-45239-1-git-send-email-nikhil.rao@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Sun, 3 Jun 2018 17:11:08 +0530 > From: Nikhil Rao > To: jerin.jacob@caviumnetworks.com > CC: dev@dpdk.org, Nikhil Rao , stable@dpdk.org > Subject: [PATCH] eventdev: fix missing update to Rx adaper WRR position > X-Mailer: git-send-email 1.8.3.1 > > 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") > Suggested-by: Gage Eads > Signed-off-by: Nikhil Rao > Cc: stable@dpdk.org Applied to dpdk-next-eventdev/master. Thanks. > --- > lib/librte_eventdev/rte_event_eth_rx_adapter.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c > index 6f70509..53a3788 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 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b) > */ > 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); > -- > 1.8.3.1 >