From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx-3.enea.com (sestofw01.enea.se [192.36.1.252]) by dpdk.org (Postfix) with SMTP id AD24E20F for ; Fri, 17 Jul 2015 15:48:02 +0200 (CEST) Received: from [192.168.15.79] (192.168.15.79) by smtp.enea.com (172.21.1.209) with Microsoft SMTP Server id 14.3.224.2; Fri, 17 Jul 2015 15:48:01 +0200 Message-ID: <55A90790.1030700@enea.com> Date: Fri, 17 Jul 2015 16:48:00 +0300 From: ciprian.barbu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.15.79] Subject: [dpdk-dev] can eth_igb_xmit_pkts called with len 0 affect transmission? X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jul 2015 13:48:02 -0000 Hi, I'm seeing a strange behavior when calling rte_eth_tx_burst with len == 0. I'll explain the reason for this situation further bellow. But what I'm seeing is that after doing this call my application keeps returning from eth_igb_xmit_pkts here, even when len > 0: http://dpdk.org/browse/dpdk/tree/lib/librte_pmd_e1000/igb_rxtx.c?h=releases#n476 I can't really explain myself this behavior, I don't understand very well what the nic does once it receives buffers in its rings, but to me it looks like calling rte_eth_tx_burst with len 0 has this effect. What I'm using in my tests is the linaro odp-dpdk implementation and the odp_l2fwd example. The odp-dpdk implementation makes this call to try and make the pmd to flush the tx queue in case there are no more free buffers in the pool, but this was only verified for ixgbe 82599 cards, for igb the packets are not actually flushed until the tail circles back the whole length of the queue. I'm pretty much the only one (that I know of) that uses odp with 1G igb i350 cards and see this issue. Can anyone explain whether I'm getting this right and there could be side effects to calling eth_igb_xmit_pkts with len 0? Thank you, /Ciprian