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 2418F2B9D for ; Wed, 1 Mar 2017 19:02:38 +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 ebc07b85.2b952ce7a940.750426.00-2471.2183248.nbfkord-smmo01.seg.att.com (envelope-from ); Wed, 01 Mar 2017 18:02:38 +0000 (UTC) X-MXL-Hash: 58b70cbe5abb959a-79b61b08fec3f6aa52c247a442d3fd3f6aa9094c 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 dac07b85.0.750408.00-2283.2183181.nbfkord-smmo01.seg.att.com (envelope-from ); Wed, 01 Mar 2017 18:02:23 +0000 (UTC) X-MXL-Hash: 58b70caf0f4d57af-13c3bfbc89cb5abaae6149ff8a8481d73884e19e Received: from [192.168.239.128] (188.242.181.57) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Wed, 1 Mar 2017 18:02:13 +0000 To: Olivier Matz , , , , , , , , References: <1479981261-19512-1-git-send-email-olivier.matz@6wind.com> <1488388752-1819-1-git-send-email-olivier.matz@6wind.com> CC: , From: Andrew Rybchenko Message-ID: <1d681ebc-bc85-934b-0d94-7b0b7faaaa77@solarflare.com> Date: Wed, 1 Mar 2017 21:02:16 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: <1488388752-1819-1-git-send-email-olivier.matz@6wind.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [188.242.181.57] 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-22914.003 X-TM-AS-Result: No--5.650200-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=OHMDMId0i3QA:10 a=N659UExz7-8A:10 a=6Iz7jQTuP9IA:10 ] X-AnalysisOut: [a=v96RFGkKKQmt9h92A0MA:9 a=JUPtl4mNJuZOgROU:21 a=OYDf65go-] X-AnalysisOut: [fDdNnV1:21 a=pILNOxqGKmIA:10] X-Spam: [F=0.2000000000; CM=0.500; S=0.200(2015072901)] X-MAIL-FROM: X-SOURCE-IP: [193.34.186.16] Subject: Re: [dpdk-dev] [PATCH 0/6] get status of Rx and Tx descriptors 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: Wed, 01 Mar 2017 18:02:38 -0000 On 03/01/2017 08:19 PM, Olivier Matz wrote: > This patchset introduces a new ethdev API: > - rte_eth_rx_descriptor_status() > - rte_eth_tx_descriptor_status() May be corresponding features should be added to the NICs documentation? > The Rx API is aims to replace rte_eth_rx_descriptor_done() which > does almost the same, but does not differentiate the case of a > descriptor used by the driver (not returned to the hw). > > The usage of these functions can be: > - on Rx, anticipate that the cpu is not fast enough to process > all incoming packets, and take dispositions to solve the > problem (add more cpus, drop specific packets, ...) > - on Tx, detect that the link is overloaded, and take dispositions > to solve the problem (notify flow control, drop specific > packets) > > The patchset updates ixgbe, i40e, e1000, mlx5. > The other drivers that implement the descriptor_done() API are > fm10k, sfc, virtio. They are not updated. > If the new API is accepted, the descriptor_done() can be deprecated, > and examples/l3fwd-power will be updated to. > > > RFC->v1: > - instead of optimizing an API that returns the number of used > descriptors like rx_queue_count(), use a more simple API that > returns the status of a descriptor, like rx_descriptor_done(). > - remove ethdev api rework (first 2 patches), they have been > sent separately > > > Olivier Matz (6): > ethdev: add descriptor status API > net/ixgbe: implement descriptor status API > net/e1000: implement descriptor status API (igb) > net/e1000: implement descriptor status API (em) > net/mlx5: implement descriptor status API > net/i40e: implement descriptor status API > > drivers/net/e1000/e1000_ethdev.h | 10 +++++ > drivers/net/e1000/em_ethdev.c | 2 + > drivers/net/e1000/em_rxtx.c | 49 ++++++++++++++++++++++ > drivers/net/e1000/igb_ethdev.c | 2 + > drivers/net/e1000/igb_rxtx.c | 46 +++++++++++++++++++++ > drivers/net/i40e/i40e_ethdev.c | 2 + > drivers/net/i40e/i40e_ethdev_vf.c | 2 + > drivers/net/i40e/i40e_rxtx.c | 56 +++++++++++++++++++++++++ > drivers/net/i40e/i40e_rxtx.h | 4 ++ > drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++ > drivers/net/ixgbe/ixgbe_ethdev.h | 5 +++ > drivers/net/ixgbe/ixgbe_rxtx.c | 55 +++++++++++++++++++++++++ > drivers/net/mlx5/mlx5.c | 2 + > drivers/net/mlx5/mlx5_rxtx.c | 83 +++++++++++++++++++++++++++++++++++++ > drivers/net/mlx5/mlx5_rxtx.h | 2 + > lib/librte_ether/rte_ethdev.h | 86 +++++++++++++++++++++++++++++++++++++++ > 16 files changed, 410 insertions(+) >