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 E9E1CA09E4; Thu, 22 Apr 2021 01:09:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B038441BF2; Thu, 22 Apr 2021 01:09:48 +0200 (CEST) Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by mails.dpdk.org (Postfix) with ESMTP id 28F1740150 for ; Thu, 22 Apr 2021 01:09:47 +0200 (CEST) Received: by mail-pf1-f179.google.com with SMTP id d124so30300163pfa.13 for ; Wed, 21 Apr 2021 16:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BnhJQmAreJTfR3x43ZfwxppiACIF4nJ/W3MKUbhXZ8Y=; b=tA/qsRjQXP/hkckj0ng9yvESLLe98kHF+cxloEVlw58mTjTlCctr7tBDuwPcBMT9JT t8VnIA/EH9OOjF6ABoZDGd7Qja3OzDteuwf5Z3iu5VgCESr1QO+I+je2vG1FDzEMDic+ gXzKu5OrBtFyhrQ3TxCo1GLsczs2RwMzxQSHomI7Qt/Ei5b2nSXarUa3kjiKP4+A4oNK +Uo2wnt3zBCcbDrBSA0cwbigxQwvdKjqZhcurY0wc9+VIzCaUGiqyQOShK4w+Gf3FEtE y+6CDfCcFCBzKk03aqrQUhjJ0hYimKU0VYTz3T0WWvNxHXgVjDXZ0n06+xFC6xaJcQr1 6AFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BnhJQmAreJTfR3x43ZfwxppiACIF4nJ/W3MKUbhXZ8Y=; b=HWUGWPCAV+GO/E7lhI2wGsUouht8R4Fme4+BAfzNHzPyC2q3rpvyw4wIJD7GbrHyKG PktU2hqixh63v8I/8ICAjGxuyxF+hyEc7ER2XhLeZgKluDwL0qnzm1q8nsnif3I/cnyh zL1FApAzCCWZye/BUJhV/hyxI3eNSQQ+rVI74uQRGcYG5MkNz2kN9ztt2/vquDVt6RfI 4J8tySGDGNNCPAdQky5EthzzlPp7r5KZcxP0ziicng5trXp5KDykI3TZuq6LFWthmAzh 3CYByYZvhGqXYApWCzrfuSBL6xbKmzXJijab8Xk2PwJzDmy9lgqTX8Appl+tsxhB2Mj+ ldkw== X-Gm-Message-State: AOAM5301z5RdmWSK8uAk/AEQkQjiFCYclZZIAkM9B7VyzqGX0brFUzj5 g7lDldYY8gGipBM6IjRG0SfkNA== X-Google-Smtp-Source: ABdhPJz4SGg5uLix1b2NdriiHF1SgKx7qTmqPulLCMiWPMzt8i2zSuiP2dLFP2SfFiZD0wtcacJsbg== X-Received: by 2002:a17:90b:715:: with SMTP id s21mr13874446pjz.183.1619046587041; Wed, 21 Apr 2021 16:09:47 -0700 (PDT) Received: from hermes.local (76-14-218-44.or.wavecable.com. [76.14.218.44]) by smtp.gmail.com with ESMTPSA id j27sm378653pgb.54.2021.04.21.16.09.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Apr 2021 16:09:46 -0700 (PDT) From: Stephen Hemminger To: Ajit Khaparde , Somnath Kotur Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 21 Apr 2021 16:09:29 -0700 Message-Id: <20210421230929.434822-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] bnxt: skip getting statistics for queues not started 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 Sender: "dev" An application using rte_flow may define a large number of queues but only use a small subset of them at any one time. Since querying the status of each queue requires a request/spin/reply with the firmware, optimize by skipping the request for queues not running. For those queues the statistics will be 0. This cuts the cost of single xstats query in half and has even bigger gain for simple stats query. Signed-off-by: Stephen Hemminger --- drivers/net/bnxt/bnxt_stats.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index bb4b2eee194e..11767e06d074 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -528,6 +528,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev, struct bnxt_rx_queue *rxq = bp->rx_queues[i]; struct bnxt_cp_ring_info *cpr = rxq->cp_ring; + if (!rxq->rx_started) + continue; rc = bnxt_hwrm_ctx_qstats(bp, cpr->hw_stats_ctx_id, i, bnxt_stats, 1); if (unlikely(rc)) @@ -543,6 +545,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev, struct bnxt_tx_queue *txq = bp->tx_queues[i]; struct bnxt_cp_ring_info *cpr = txq->cp_ring; + if (!txq->tx_started) + continue; rc = bnxt_hwrm_ctx_qstats(bp, cpr->hw_stats_ctx_id, i, bnxt_stats, 0); if (unlikely(rc)) -- 2.30.2