From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id A507AA04FD;
	Wed,  8 Jun 2022 19:46:36 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 8CF5040689;
	Wed,  8 Jun 2022 19:46:36 +0200 (CEST)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by mails.dpdk.org (Postfix) with ESMTP id 9F1F840042
 for <dev@dpdk.org>; Wed,  8 Jun 2022 19:46:35 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 586CD5C019B;
 Wed,  8 Jun 2022 13:46:35 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Wed, 08 Jun 2022 13:46:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 cc:cc:content-transfer-encoding:content-type:date:date:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to; s=fm2; t=1654710395; x=
 1654796795; bh=UCT3q0h2XhztuR6YLsjqTypG69aJ50TRB6Y9VJ7WpVk=; b=H
 Uocr1avae64fbusr5epjPDHLpX+1mjzPc53wpjZOmrTy/tCPWe0yZVzgUevrNv3z
 G2MA49D6PWzjoLiS6FQGsFexyYQIB9og/R6LxfTmFhkb1WoQXY5ITf99Vnur4l9F
 +lb8irLHjDxq45zTcZaFpfXxDRPXa2/WCV8aH5HfSsu8APilIVG6LW51av8fgM15
 Yr3uoc2gHsvwZ8IqX7bqam2yFJIap2HimXlMdMrgYZ3JjyqlDTDDoKmuYntK2MMR
 npz/2oNoc8WxCPaBMuAkZUJLTLIOYRY5If784+xS0HR17XdCYUqliCSYj5KFY9Af
 A07Qp4koGLypYKp5L7OaA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1654710395; x=
 1654796795; bh=UCT3q0h2XhztuR6YLsjqTypG69aJ50TRB6Y9VJ7WpVk=; b=L
 MulbxdqqQB5CT81oit/5RpWgF5JfSWYYnAJogVxctUoKD+lJL5t8G+7fAWD+Lf8A
 3Rv9jzhvM9tbNCAjGSvKfRm3YjbLp2Mkkgo6hyM92VBP3d1CeDfQzUVMKE3ye/wc
 Lzy0myHpFuRborEXyUWjjzSuyHEXoEAzaA78po7heQXOhUmL5lDhiHZPK274M0QO
 cPjtMNnTLsSj4/xBrZ/9TNgQ5uMZDC/EuBIWixvfQfvIRE3ULefUEv414lzb1CuB
 LqCVvJKCS2KqIV4GFijmlA5SQto97XMAkcvSeIeWqiqC0zLUhIRSJhzTpZSLmOFi
 BSoHNwm8Pom6yUwWwd6rg==
X-ME-Sender: <xms:euCgYsPUO2M2Z_-YjZ4RiVrkrWM3FPBPeDERXh3qwA2hJF3LrgwO-A>
 <xme:euCgYi_lWodrPPBFzuE7UmgapOw8RR8pv8Wj8zPD7bKHamr7QkTtjRTvsS4w749kL
 e666hvcfkaCOUTVjg>
X-ME-Received: <xmr:euCgYjQnUExhkVOPVNUeYgEcR9AYGprOqhB7paExX_2ctUtKVuoYoxt24HMAtxkCqYkSODbmr7LoUp_B6zepPxUJJw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddtjedgudduvdcutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
 enucfjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhho
 mhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqne
 cuggftrfgrthhtvghrnheptdejieeifeehtdffgfdvleetueeffeehueejgfeuteeftddt
 ieekgfekudehtdfgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh
 hfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth
X-ME-Proxy: <xmx:euCgYkvVLAJhjttxPyPli4O0eOYHNHucOXp_ArilfwAzSBOe9i1MrA>
 <xmx:euCgYkf3Hxw0PegrongsKDQuUz_e--tbMKFglD22M7Ngs6jfL7n9uQ>
 <xmx:euCgYo2vILp6C8_OIrOVJTObFPOc8wj91AzVoYJT1SgH1IgGVP78vA>
 <xmx:e-CgYisZlH8fiH2CGeMQI8hk_K-pV2_4qUIln6vlIW8zl-gt8qaxJA>
Feedback-ID: i47234305:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 8 Jun 2022 13:46:33 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
 Spike Du <spiked@nvidia.com>
Cc: dev@dpdk.org, Xiaoyun Li <xiaoyun.li@intel.com>,
 Aman Singh <aman.deep.singh@intel.com>, Yuying Zhang <yuying.zhang@intel.com>,
 Ferruh Yigit <ferruh.yigit@xilinx.com>, Ray Kinsella <mdr@ashroe.eu>,
 dev@dpdk.org
Subject: Re: [PATCH v6] ethdev: introduce available Rx descriptors threshold
Date: Wed, 08 Jun 2022 19:46:32 +0200
Message-ID: <22668814.6Emhk5qWAg@thomas>
In-Reply-To: <1914507.usQuhbGJ8B@thomas>
References: <20220607125942.241379-1-spiked@nvidia.com>
 <20220608163528.1850326-1-andrew.rybchenko@oktetlabs.ru>
 <1914507.usQuhbGJ8B@thomas>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

08/06/2022 19:22, Thomas Monjalon:
> 08/06/2022 18:35, Andrew Rybchenko:
> > From: Spike Du <spiked@nvidia.com>
> > 
> > A new event RTE_ETH_EVENT_RX_AVAIL_THRESH should be generated by HW
> > when number of available descriptors in Rx queue goes below the
> > threshold.
> > 
> > The threshold is defined as a percentage of an Rx queue size with valid
> > values from 0 to 99 (inclusive). Zero (default) value disables it.
> > 
> > There is no capability reporting for the feature. Application should
> > simply try to set required threshold value and handle result.
> > 
> > Add testpmd commands to control the threshold:
> >   set port <port_id> rxq <rxq_id> avail_thresh <avail_thresh_num>
> > 
> > Signed-off-by: Spike Du <spiked@nvidia.com>
> > Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > ---
> > v6:
> >     - try to make descriptor shorter and more useful
> >     - refine terminology to use "available descriptors threshold"
> >       everywhere (plural "descriptors")
> >     - fix ethdev API documenation
> >     - define negative return values
> >     - define rules to convert percentage to descriptors number
> >       in drivers
> >     - avoid extra checks in testpmd helper to allow ethdev API
> >       to do its job
> >     - minor fixes in testpmd variables naming
> >     - fix testpmd help to be human oriented
> >     - update testpmd users guide
> >     - add release notes
> 
> What a (more than) review work, thanks a lot for this v6!
> 
> Acked-by: Thomas Monjalon <thomas@monjalon.net>
> 
> With a few minor arrangements,
> applied, thanks.

PS: some ABI exceptions have to be added as discussed in the thread:

+; Ignore ethdev event enum update
+; because new event cannot be received if not registered
+[suppress_type]
+        type_kind = enum
+        changed_enumerators = RTE_ETH_EVENT_MAX
+
+; Ignore fields inserted in cacheline boundary of rte_eth_rxq_info
+; because the struct size is unchanged
+[suppress_type]
+        name = rte_eth_rxq_info
+        has_data_member_inserted_between = {offset_of(rx_buf_size), end}