From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f176.google.com (mail-ob0-f176.google.com [209.85.214.176]) by dpdk.org (Postfix) with ESMTP id 5CDFB8E60 for ; Sat, 29 Aug 2015 15:55:20 +0200 (CEST) Received: by obbwr7 with SMTP id wr7so62058786obb.2 for ; Sat, 29 Aug 2015 06:55:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=GRIBy/LFWiJNio5umyje8a35zKTHEssU3BRiEMa9eZ8=; b=HRdMCvm/gGSiE+kboAXhEqqSrcqpE17H/rVopOoPYl+dJVVWxNqmCvYeP9w4AFQ/59 gbqvGzKo8XPXzPyfQavnTmxkYO/fL+kzHIivzLj58NyQccNj2ux7MR4pHnAtXU2aZPR4 Ya5YKj9I/0na9DLpioz4Yxt/JZ3QyM6jdMOYbk1NDLQI3YYHWrQcREKyfuBAO1fzoOZA HWZtgLYlFsvxdaGc7hsLZwskuJjEDs3A8xQNWL8qZpVYI03/rBOmvGfo7DJwpWv/11yH yjjIVlZbZw+RVxYPGnl7Ptjk1YekTUJ5w3g2XyuMbWSxqS5QzKQo45tq62pY16ns/V+h 6byg== MIME-Version: 1.0 X-Received: by 10.60.55.9 with SMTP id n9mr8394309oep.67.1440856519654; Sat, 29 Aug 2015 06:55:19 -0700 (PDT) Received: by 10.202.57.65 with HTTP; Sat, 29 Aug 2015 06:55:19 -0700 (PDT) Received: by 10.202.57.65 with HTTP; Sat, 29 Aug 2015 06:55:19 -0700 (PDT) In-Reply-To: <47CEA9C0E570484FBF22EF0D7EBCE5B534B644C7@szxema505-mbx.china.huawei.com> References: <55E0B0AC.7060509@gmail.com> <47CEA9C0E570484FBF22EF0D7EBCE5B534B644C7@szxema505-mbx.china.huawei.com> Date: Sat, 29 Aug 2015 06:55:19 -0700 Message-ID: From: Masood Moshref Javadi To: "Gaohaifeng (A)" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] rte_eth_rx_burst only returns up to 32 packets 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: Sat, 29 Aug 2015 13:55:20 -0000 Thanks a lot. So I assume the only way to see if there are more than 256 packets in the queue is to count them using rte_eth_rx_count On Aug 28, 2015 8:32 PM, "Gaohaifeng (A)" wrote: > Please see _rece_raw_pkts_vec function. > > Here is part of its comments may explain this question > /* > * vPMD receive routine, now only accept (nb_pkts == > RTE_IXGBE_VPMD_RX_BURST) > * in one loop > * > * Notice: > * - nb_pkts < RTE_IXGBE_VPMD_RX_BURST, just return no packet > * - nb_pkts > RTE_IXGBE_VPMD_RX_BURST, only scan RTE_IXGBE_VPMD_RX_BURST > * numbers of DD bit > */ > > > > Hi, > > The documentation of this method says: Applications implementing a > "retrieve as much received packets as possible" policy can check this > specific case and keep invoking the rte_eth_rx_burst() < > http://dpdk.org/doc/api/rte__ethdev_8h.html#aee7daffe261e67355a78b106627c4c45 > >function > until a value less than nb_pkts is returned. > > But the function returns at most 32 packets regardless of the burst size > parameter (nb_pkts). For example when I set the burst size to 256, it only > returns 32 packets even though the queue has more packets. This means that > I cannot rely on the returned value to know if there are > > 256 packets in the queue or not. > > Where this number 32 comes from? Is it because "PMD: > ixgbe_set_rx_function(): Vector rx enabled, please make sure RX burst size > no less than 32." ? > > I use DPDK 2.0.0 and Intel 82599 10 G NIC. > > Thanks >