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 CE82245AEF; Wed, 9 Oct 2024 10:00:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A717740653; Wed, 9 Oct 2024 10:00:27 +0200 (CEST) Received: from smtpbguseast3.qq.com (smtpbguseast3.qq.com [54.243.244.52]) by mails.dpdk.org (Postfix) with ESMTP id 7F1B6402BC for ; Wed, 9 Oct 2024 10:00:25 +0200 (CEST) X-QQ-mid: Yeas4t1728460815t655t65205 Received: from 3DB253DBDE8942B29385B9DFB0B7E889 (jiawenwu@trustnetic.com [220.184.248.74]) X-QQ-SSF: 00400000000000F0FVF000000000000 From: =?utf-8?b?Smlhd2VuIFd1?= X-BIZMAIL-ID: 8149470222107043692 To: "'Stephen Hemminger'" , References: <20241008160209.68000-1-stephen@networkplumber.org> <20241008160209.68000-2-stephen@networkplumber.org> In-Reply-To: <20241008160209.68000-2-stephen@networkplumber.org> Subject: RE: [RFC 1/5] net/txgbe: fix query handling in xstats_get Date: Wed, 9 Oct 2024 16:00:14 +0800 Message-ID: <06d501db1a21$460a88a0$d21f99e0$@trustnetic.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 16.0 Content-Language: zh-cn Thread-Index: AQCLo9EvFT+q4cuMUxIvDnsNk0zWFQFWva5utRJEupA= X-QQ-SENDSIZE: 520 Feedback-ID: Yeas:trustnetic.com:qybglogicsvrgz:qybglogicsvrgz8a-1 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 > -----Original Message----- > From: Stephen Hemminger > Sent: Wednesday, October 9, 2024 12:00 AM > To: dev@dpdk.org > Cc: Stephen Hemminger ; jiawenwu@trustnetic.com > Subject: [RFC 1/5] net/txgbe: fix query handling in xstats_get > > The xstats_get function in this driver did not act the same > as other drivers when queried. The correct check is to look > at the requested number of stats and compare it to the available > stats and if the request is too small, return the correct size. > > Bugzilla ID: 1560 > Fixes: 91fe49c87d76 ("net/txgbe: support device xstats") > Cc: jiawenwu@trustnetic.com > > Signed-off-by: Stephen Hemminger > --- > drivers/net/txgbe/txgbe_ethdev.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c > index 2834468764..ee829d9120 100644 > --- a/drivers/net/txgbe/txgbe_ethdev.c > +++ b/drivers/net/txgbe/txgbe_ethdev.c > @@ -2547,19 +2547,13 @@ txgbe_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats, > struct txgbe_hw_stats *hw_stats = TXGBE_DEV_STATS(dev); > unsigned int i, count; > > - txgbe_read_stats_registers(hw, hw_stats); > - > - /* If this is a reset xstats is NULL, and we have cleared the > - * registers by reading them. > - */ > count = txgbe_xstats_calc_num(dev); > - if (xstats == NULL) > + if (limit < count) > return count; > > - limit = min(limit, txgbe_xstats_calc_num(dev)); > - > + txgbe_read_stats_registers(hw, hw_stats); > /* Extended stats from txgbe_hw_stats */ > - for (i = 0; i < limit; i++) { > + for (i = 0; i < count; i++) { > uint32_t offset = 0; > > if (txgbe_get_offset_by_id(i, &offset)) { > -- > 2.45.2 > > Thanks! Reviewed-by: Jiawen Wu