From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f44.google.com (mail-pg0-f44.google.com [74.125.83.44]) by dpdk.org (Postfix) with ESMTP id 6729C2B9D for ; Wed, 1 Mar 2017 19:07:09 +0100 (CET) Received: by mail-pg0-f44.google.com with SMTP id s67so22691948pgb.3 for ; Wed, 01 Mar 2017 10:07:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HnLerwdE4+sbEEbh6eKDuKF/XceaCQs76PRa9o10bCA=; b=ITJguLVULtgetNXwJTwhAqK0/Q1ZfqNIa8rhl4StiPe04NgtCARHhqQbIWaZ1xP2L1 AjZNhElazCF2ou7rpGOxuqFNW5DHxJk1YZ6etuhCiIHpNkXf19J3kPcWmsfSTqc5U1it pId5grM63AGVaXMJVLjQDgfSMrPugHX0HpnXUZUqYnM6RIQr+2qvNEBBQzqLr/Sd7AW2 V2b+w1Ki0WPdgXvABaHY/hTCaqZrGN9devK9hUge2aysQa9FQz89+U1yfnl6hrjIHSnr FNq7MU9BWAoNyr5iZBHBqar9hZI2xnocZhDGPpiohGKtuS2IEXRNppFKRxI4mc5QYHlS yXxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HnLerwdE4+sbEEbh6eKDuKF/XceaCQs76PRa9o10bCA=; b=YEv55wvHMHNpPIBdx539ffVu+Rm9zRJI+yyEckz1aNGjVMqjZP897QLiAcIE4p8E9R Jlzo2qr/rp72W1qjAorQfRqYJMsf+z6+7KctQ7ryh4oQfwipFvf8fdzPqxf/mMf5+o+5 ibrVZD1RCnwVUB0UL/Mwch9WzSkO5y7Iy3tqOvxJxT/6OOaUYfgT0CovFPP0/P2Z9Mxd sMkDx/N42bU7DorsP8pL1hWMfdzv3eiqXm3XNtC99AdhtNuLL2Q41tIHOhYD1npJpqcG D3XQf0h1Zz8Bf8pRQkCehgkYv4NLBLeY5cVCdA352cc4HMRABFwdv70Yj2YnEv7fVkNg 89Jg== X-Gm-Message-State: AMke39lo+Lhu6Kf9/QnIaWSqDFF388/4d0kdxnFvunqiNc6lPtO17vk1q1uc1ZKT2O5Jdg== X-Received: by 10.84.129.132 with SMTP id b4mr11938388plb.54.1488391628561; Wed, 01 Mar 2017 10:07:08 -0800 (PST) Received: from xeon-e3 (204-195-18-65.wavecable.com. [204.195.18.65]) by smtp.gmail.com with ESMTPSA id e70sm7222500pfl.105.2017.03.01.10.07.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 01 Mar 2017 10:07:08 -0800 (PST) Date: Wed, 1 Mar 2017 10:07:06 -0800 From: Stephen Hemminger To: Olivier Matz Cc: dev@dpdk.org, thomas.monjalon@6wind.com, konstantin.ananyev@intel.com, wenzhuo.lu@intel.com, helin.zhang@intel.com, jingjing.wu@intel.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, ferruh.yigit@intel.com, bruce.richardson@intel.com Message-ID: <20170301100706.5df566fb@xeon-e3> In-Reply-To: <1488388752-1819-1-git-send-email-olivier.matz@6wind.com> References: <1479981261-19512-1-git-send-email-olivier.matz@6wind.com> <1488388752-1819-1-git-send-email-olivier.matz@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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:07:09 -0000 On Wed, 1 Mar 2017 18:19:06 +0100 Olivier Matz wrote: > This patchset introduces a new ethdev API: > - rte_eth_rx_descriptor_status() > - rte_eth_tx_descriptor_status() > > 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(+) > Could you update examples to use this?