From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nbfkord-smmo01.seg.att.com (nbfkord-smmo01.seg.att.com [209.65.160.76]) by dpdk.org (Postfix) with ESMTP id C67AA2B88 for ; Thu, 2 Mar 2017 16:06:09 +0100 (CET) Received: from unknown [193.34.186.16] (EHLO webmail.solarflare.com) by nbfkord-smmo01.seg.att.com(mxl_mta-7.2.4-7) with ESMTP id 1e438b85.2b952426c940.801034.00-2478.2313119.nbfkord-smmo01.seg.att.com (envelope-from ); Thu, 02 Mar 2017 15:06:09 +0000 (UTC) X-MXL-Hash: 58b834e17fe68d2e-b0066956856573d2e4a641377c5d5576dedf6a78 Received: from unknown [193.34.186.16] (EHLO webmail.solarflare.com) by nbfkord-smmo01.seg.att.com(mxl_mta-7.2.4-7) over TLS secured channel with ESMTP id bd438b85.0.801021.00-2393.2313097.nbfkord-smmo01.seg.att.com (envelope-from ); Thu, 02 Mar 2017 15:06:06 +0000 (UTC) X-MXL-Hash: 58b834de53ac92fc-a7f11d23f5c9a491f2026cd1cabb3737a858fcf3 Received: from [192.168.38.17] (84.52.89.52) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Thu, 2 Mar 2017 15:05:55 +0000 To: Olivier Matz , Andrew Rybchenko References: <1479981261-19512-1-git-send-email-olivier.matz@6wind.com> <1488388752-1819-1-git-send-email-olivier.matz@6wind.com> <1488388752-1819-2-git-send-email-olivier.matz@6wind.com> <8966736f-3bcb-5096-5c2b-643c65751d5f@solarflare.com> <20170302145752.38b2f820@platinum> <20170302155432.7e81e969@platinum> CC: , , , , , , , , , From: Andrew Rybchenko Message-ID: <27118555-7baa-41e4-ff1e-f4bddec97b43@solarflare.com> Date: Thu, 2 Mar 2017 18:05:52 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170302155432.7e81e969@platinum> X-Originating-IP: [84.52.89.52] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-22916.003 X-TM-AS-Result: No--12.995100-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-AnalysisOut: [v=2.1 cv=LaQ6n2ri c=1 sm=1 tr=0 a=8P+NB+fYZDP74ap4g4d9Kw==] X-AnalysisOut: [:17 a=RB3BGLmKESwA:10 a=6Iz7jQTuP9IA:10 a=MKqN56PAXIrAt66A] X-AnalysisOut: [QRIA:9 a=pILNOxqGKmIA:10 a=JHTKezraS1dHRM9V5UQA:9 a=9qbzua] X-AnalysisOut: [kTMld_T_xk:21 a=_W_S_7VecoQA:10] X-Spam: [F=0.2000000000; CM=0.500; S=0.200(2015072901)] X-MAIL-FROM: X-SOURCE-IP: [193.34.186.16] Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH 1/6] ethdev: add descriptor status API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Mar 2017 15:06:10 -0000 On 03/02/2017 05:54 PM, Olivier Matz wrote: >>>>> + * >>>>> + * @param port_id >>>>> + * The port identifier of the Ethernet device. >>>>> + * @param queue_id >>>>> + * The Rx queue identifier on this port. >>>>> + * @param offset >>>>> + * The offset of the descriptor starting from tail (0 is the next >>>>> + * packet to be received by the driver). >>>>> + * @return >>>>> + * - (RTE_ETH_DESC_AVAIL): Descriptor is available for the hardware to >>>>> + * receive a packet. >>>>> + * - (RTE_ETH_DESC_DONE): Descriptor is done, it is filled by hw, but >>>>> + * not yet processed by the driver (i.e. in the receive queue). >>>>> + * - (RTE_ETH_DESC_USED): Descriptor is unavailable (hold by driver, >>>>> + * not yet returned to hw). >>>> It looks like it is the most suitable for descriptors which are reserved >>>> and never used. >>> Can you give some more details about what is a reserved but never >>> used descriptor? (same question for Tx) >> Our HW has a requirement to keep few descriptors always unused (i.e. >> some gap between tail and head). It is just a few descriptors, but >> invalid descriptor status may misguide application. E.g. if Rx queue >> size is 512 and offset 510, it will always be unused (since it is >> reserved). It is not an indication that core is too slow and can't keep >> the pace. > Understood. > > I can change _USED into _UNAVAIL (add it for Tx), with the following > description: > > - (RTE_ETH_DESC_UNAVAIL): Descriptor is unavailable: either hold by driver > and not yet returned to hw, or reserved by the hardware. Looks good. Do I understand correctly that it will be reported for descriptors which are not refilled (posted to HW) because of rx_free_thresh?