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.
> -----Original Message----- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Wednesday, February 25, 2015 3:37 PM > 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 04:55:09 +0000 > "Liang, Cunming" <cunming.liang at intel.com> wrote: > > > Hi Stephen, > > > > I tried on the latest mater branch with testpmd. > > 2 rxq and 2 txq as below, vector pmd on both rx and tx. I can't reproduced > > it. > > I checked your log, on tx side, it looks the tx vector haven't enabled. (it > > shows > vpmd on rx, spmd on tx). > > Would you help to share the below params in your app ? > > RX desc=128 - RX free threshold=32 > > TX desc=512 - TX free threshold=32 > > TX RS bit threshold=32 - TXQ flags=0xf01 > > As in your case which using 2 rxq and 1 txq, would you explain the traffic > > flow > between them. > > One thread polling packets from each rxq and send to the specified txq ? > > Basic thread model of application is same as examples/qos_sched. > > On ixgbe: > RX desc = 4000 - RX free threshold=32 > TX desc = 512 - TX free threshold=0 so driver sets default of 32 > > I was setting rx/tx conf but since examples don't went away from that. [LCM] All these params defined in rte_eth_rxconf/rte_eth_txconf which are used during rte_eth_rx/tx_queue_setup. If don't care the value and assign nothing for it, it takes the default value per each device. For ixgbe, the default_txconf will use the vpmd. In your log, it's not. So that's why I asked for such params. > > The whole RX/TX tuning parameters are a very poor programming model only > a hardware engineer could love. Requiring the application to look at > driver string and choose the magic parameter settings, is in my opnion > an indication of using incorrect abstraction. [LCM] It's not necessary for application to look at such parameter. As you said, that's only for RX/TX tuning. If tuning, it makes sense to understand what these parameters mean.