From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5EFF8A054F; Thu, 9 Jun 2022 02:17:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E5C7940689; Thu, 9 Jun 2022 02:17:35 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 3A3EC40220 for ; Thu, 9 Jun 2022 02:17:33 +0200 (CEST) Received: from dggpeml500024.china.huawei.com (unknown [172.30.72.57]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LJPkj5rNKzgZCb; Thu, 9 Jun 2022 08:15:41 +0800 (CST) Received: from [127.0.0.1] (10.67.100.224) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 9 Jun 2022 08:17:31 +0800 Subject: Re: [PATCH v6] ethdev: introduce available Rx descriptors threshold To: Thomas Monjalon , Andrew Rybchenko , Spike Du CC: , Xiaoyun Li , Aman Singh , Yuying Zhang , Ferruh Yigit , Ray Kinsella , References: <20220607125942.241379-1-spiked@nvidia.com> <20220608163528.1850326-1-andrew.rybchenko@oktetlabs.ru> <1914507.usQuhbGJ8B@thomas> <22668814.6Emhk5qWAg@thomas> From: fengchengwen Message-ID: Date: Thu, 9 Jun 2022 08:17:31 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <22668814.6Emhk5qWAg@thomas> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.100.224] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To dggpeml500024.china.huawei.com (7.185.36.10) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hi Thomas, Could it possible accept the patch ' [dpdk-dev] [PATCH v7 1/4] ethdev: support device reset and recovery events' which was delayed by ABI exceptions like this patch ? PS: I noticed RC-1 was released just now and there may be no window left, but I think since this patch can be an exception, why not that patch ? Thanks. On 2022/6/9 1:46, Thomas Monjalon wrote: > 08/06/2022 19:22, Thomas Monjalon: >> 08/06/2022 18:35, Andrew Rybchenko: >>> From: Spike Du >>> >>> 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 rxq avail_thresh >>> >>> Signed-off-by: Spike Du >>> Signed-off-by: Andrew Rybchenko >>> --- >>> 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 >> >> 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} > > > > > > . >