Hi Stephen, The root cause is about the rx descriptor number. As we use below code to quick process the rx_tail wrap, it require rxd value is a 2^n. "rxq->rx_tail = (uint16_t)(rxq->rx_tail & (rxq->nb_rx_desc - 1));" We should add more checking on the input rxd, if checking fail, then tend to use scalar pmd. Thanks for the report, I'll send fix patch soon.
-Cunming > -----Original Message----- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Thursday, February 26, 2015 9:07 AM > To: Liang, Cunming > Cc: Nemeth, Balazs; Richardson, Bruce; Neil Horman; dev at dpdk.org > Subject: Re: ixgbe vector mode not working. > > On Wed, 25 Feb 2015 08:49:48 +0000 > "Liang, Cunming" <cunming.liang at intel.com> wrote: > > > Hi Stephen, > > > > Thanks for the info, with rxd=4000, I can reproduce it. > > On that time, it runs out of mbuf. > > I'll follow up this issue. > > The first time I ran it, the code was configure rx/tx conf > which was leftover from older versions. > > Second time I ran it and the same hang happened. > Looking at mbuf pool statistics I see that it gets exhausted, > even when extra mbuf's are added to the pool. > > Looks like a memory leak.