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 65AEEA00BE; Wed, 4 May 2022 23:23:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 468094281A; Wed, 4 May 2022 23:23:13 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2056.outbound.protection.outlook.com [40.107.220.56]) by mails.dpdk.org (Postfix) with ESMTP id D92A94281A for ; Wed, 4 May 2022 23:23:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nHve768pgD9PEb4Z+TAPpJIiWuxLWACI5avtDIDx3yaDcswBQI8qcofn5boNTGsQ3BvY2hnT3XqIKDAhr8L5NZyaPRqAVMs9x2Mto/2E9ywfMNy8wZyE+EeeoKV50zRTwBiflacqQvjUtjPbZ+/9s6XCglAajEfDqkamdrghVybvodSlb9jsc3NKSlhtDR4Rr2s0EI/eYyMDzRJHnrLKuso21MFRpzATBRtWmGX1yaLJ1X3+sskVZAcrzcA98+QfvYk2gfYqvvXS7u+bRnQUAOSBj+UhJNXAZlH8I6fkmOvwDplQxEGWvj7ktnmXr8BSJtSu0/m9hW9I9v57Z/193A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xkwU9NYAc5OFoGVTMrx4SwoM+yN8a6OvwnBpzbJz4BY=; b=IKytpqU/DUFleNYBOQbNWr2O3EymQbPcK4cI6NsA/tr4P3nAA5ltpdsJvDJpmFlwP44c38vJ1lC3Na5FsoWbAfIBOreDTo1EtFyLiBk1ujAsy9orEbJtu3G3sinNlNYgsM07MrhcAyf5DT1vOsKikkhwkhH790wjK3VffHmJdhrZ93oEm2z547VK0Lx9exdnrTmBZmflD9WyMM82wZURLD+7cOREIRhsf90dtzq0qF6YYW8LwbW4g6BBNUzdbP0fjrzSacWj4WI6rq1/q5+KtJrzSQ89AhyCIch0au4IbvWU3jGUnR3/TBUcN8e28BC66QpcY1MOczUqqMB7eR/hfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xkwU9NYAc5OFoGVTMrx4SwoM+yN8a6OvwnBpzbJz4BY=; b=J/gNQRHlYlBuysGNjPRDC9KTMAjF/Qq6y6m8vkoLYo/NoEN0KCFnEph06OHFQ8fGWCs33EYK1T6IkgZUpNdDmNnWIVakrsIVfcIp5Tj+vuvO29D+u0hKSM1MELGhryqMB+bsNskC0vU7gmsLCNsQ3njPWh3iar5uJj8LbQvtJpo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by BN6PR05MB3313.namprd05.prod.outlook.com (2603:10b6:405:42::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Wed, 4 May 2022 21:23:08 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::5161:a7c5:8c7d:f3b2]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::5161:a7c5:8c7d:f3b2%7]) with mapi id 15.20.5206.024; Wed, 4 May 2022 21:23:08 +0000 From: Pankaj Gupta To: jbehrens@vmware.com, yongwang@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v2 3/8] net/vmxnet3: add Rx queue usage count utility Date: Wed, 4 May 2022 17:22:47 -0400 Message-Id: <20220504212252.25117-4-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220504212252.25117-1-pagupta@vmware.com> References: <20220504212252.25117-1-pagupta@vmware.com> Content-Type: text/plain X-ClientProxiedBy: SJ0P220CA0006.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:41b::29) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 343edc45-3e75-453d-2059-08da2e1448b3 X-MS-TrafficTypeDiagnostic: BN6PR05MB3313:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rQcAS/e0Ztd0RoafIH9kvV55tnru8jfR/pZHKU9/SiqidiTOSstZzWC2h+oGH+E+8Sid40QmzzzDN6dkKGkLVBtA89gSCPYxJPGgw3n1QH1SqtQBXyrwMUJX8fivd06a3SXPW7Gy+USj4A77Rl5NlOhGkAeSA4stfCzxWI7ER/pvuM1U/5dDfRQXcV68k7Q8aZh09H7Xz3kbGBTvfx6svBol4dwifUnALraBoarz9y/r/twwU2dpY/SrEpNKUuGpSA3+yTQDyeb4wO6zoPX3B4i2h7x1j4yCW59SeZCCHPKjJmhqjvDPvDRoscDFcjBIq9xFx+z/SRNxWQQc/1HvBgFrSsE7enUQ3l+XLir50+bHUf0RcwApAkEF7CBdlfKHweSqsk6BSobGAs9kD3zHQNRDZd4n0JAO3ReFmK4PMwrn91dMVraXP2mEoxuvk1wcota2fytch8hryQn4p7k+2gGdB/bfSp9rRAC6Lmd/EcMQRJ5lRq+HP28odwgm97khtqiU4UuDofnJf6iVmsXpvn9dcDtVZI24TyItmQ/B9CgRet7etFPtq3rXbcpyB4HvOqsbGmhLM7TkQnc2dA4nm7gZtZJpt4V+vqTdEwiwJEF3aGtx3g3Azdb6qN5IGJHSwy8G/H0Souix+QLLMGO0QIW0yhHcIQ34YqYGd3xrPRY40wcd3Yufbch73pG6yNgUcZDJw+VA2vWwiPAVJXq9VQ/hIY8MKoaQswPVLRL6KMmBndOiHhlLG6RWZvGjcYPn X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(1076003)(86362001)(36756003)(26005)(83380400001)(6636002)(52116002)(508600001)(5660300002)(2616005)(38100700002)(186003)(38350700002)(8936002)(107886003)(6486002)(66556008)(66946007)(8676002)(66476007)(4326008)(2906002)(316002)(19627235002)(6506007)(6666004)(6512007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?np+owAblNIO8udxFGeVFwuIXHpu0lk2wQrTEkNYTPSIViceuo9BysC8oxgQM?= =?us-ascii?Q?yOSIozxVxazC9cxsbuYstjnxkbvCCMAFvpFvBMFGLR9+oQbDzZEbzQBh33vg?= =?us-ascii?Q?3EVInl0YcB/OoX/hvRHKMTORKUaF/UbhHt4B5YbQi+PuQRWcB+hiJULMuGoV?= =?us-ascii?Q?noMN7uLnzqhs0ILgYNIJlgOrLrncvL2H7mra3C7XmgzxnwEXUyuntPSAE0je?= =?us-ascii?Q?jD61LuGmvCgorQOTrm5jG2UxQzA6QC6fVs5+Y6EAVL3xQ83IbTO8FF5ygtNS?= =?us-ascii?Q?qVEz+QRFRCcNm++J9Ht1A3ggyEh2YHBGSKdBJJdEyTnDdZ2xwiUOFtsMRAxG?= =?us-ascii?Q?TuPUiqXNjDTKjC8nQLqhS5GSe0c5cicTGOKE8S5qK+Qt2133yc88V9ETgR6X?= =?us-ascii?Q?q8hUcPIhBHjvq54avZTdWhHVefAZpT1cMveVIJuysOesM0hOjLrvs8OW7rX4?= =?us-ascii?Q?7Z7Ugt+CA8/g/r+jxZFLcUoFBfG8PPN2Ehu4M6iAlIsGaMiXqwFw3wlCLz3E?= =?us-ascii?Q?RKdSJcbvpzSs6l6BInzX07wiOsKu2Eq6lOJ2ohihD5yu1K7rUYHChyt3nFYX?= =?us-ascii?Q?ONB60zUZZCvyfT54viLFlewYWsMtVdu4LvilSLLVMCFMk5z+uKQra26Zr84E?= =?us-ascii?Q?jHtrbcC90DEa8NyBOMONJ8n3MYVk6gCfj/RvhighbjtjesOb09zeCSP5X5Gf?= =?us-ascii?Q?qbEa7QEfO1FE/4/p4tBNEW3fKd+2zpsrAepWlG9ywm3WuF9csIPn0871dnlk?= =?us-ascii?Q?dGrY80Vpt+kFrpD2PY14suYf/txNo3Dge958+8e7BSdNHQcJ9s5d3crQmIdl?= =?us-ascii?Q?lYUMnVEW4aV9Azo4hWVCkmTSLjztXVPV3zR9OZh4r6iPNoMmZhQogC5ysuFr?= =?us-ascii?Q?reDaCeqfeqM93JbScAL4v1JbbuOkDyDx3oqnCW2yKAf6BVkJYq0y51FXYqOq?= =?us-ascii?Q?Fzltpw/l/f7spsKh2cBPpuQpxPm+A1Gphh7T478xmW++tc4SOJOUP/L2zVXE?= =?us-ascii?Q?hW4nGVLwMMIOcgbrXkd2Fkx0e8azX7YEYPvR51SBjxvq59CI03OHM8TVQVXa?= =?us-ascii?Q?MW0XFZDZoqx6iEqGqw0k6KYfPh561bNyMFOhLa098edViK0bhx5PqyLr3j7e?= =?us-ascii?Q?YV4FQKk/BZIenIiTqynHYhKmebddcd7Bxvy0Ssv1EdfYC+xxhOEfv58cZR/X?= =?us-ascii?Q?0TFpgiEShRMQ3O2yWcUvChqWwX6sf01K+o3QrJ9gxaa+1/1L44Iyrx5LylyY?= =?us-ascii?Q?nOc3BMrfFQXNE6v8doKJFsUzyAy49Imd4My4IVc8O0PuFE1fZAyvPgirP7qf?= =?us-ascii?Q?Q86r6qRc1LtVfeJRMffDR8R+QZHAaVGpK62iXs++ycXyi+WbPcwYdripdLS8?= =?us-ascii?Q?7Omb8vWzo+7FBfYjYADAB/sjqT8i9YZVIJs9oIDh4rJYlW69csZsXfKYaXVn?= =?us-ascii?Q?xxYVXn7AcZzyTYWVxME8uKny8iZWxosB9f8Txdn7iSaP8hBA55+cDXMwmRFW?= =?us-ascii?Q?7Jrv3c26qh1gsEv1oGd22GJdID9SRTA7XDCO0X1PcjgezDCIFPJDJSWQOtRh?= =?us-ascii?Q?FIgCrGrD4cKC+IZLmmCoW+wfnWlq+PqfnksEQ/NcUrFHshEo6YGbKny61RGl?= =?us-ascii?Q?kciYNhdQn/nT6HE3s/akONuQoANJkB+SoCagH1elnqG0CfvyffJ5j9IDD8y4?= =?us-ascii?Q?zNNiGIUK+6E0OPtDvdBRLwllVESZmWFp4a5/lIPgN/pdnYZ/YTIJwgS3QjAF?= =?us-ascii?Q?byGAbnWO9A=3D=3D?= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 343edc45-3e75-453d-2059-08da2e1448b3 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2022 21:23:08.4174 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: txNaETCHn9ut+DFHdtw9WrZfCxpPQCrhjx+unPIyhL+xRlrYXp+g3+23CJRRoNu3qaRs6ye1oP5cEfEEnvo+kQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR05MB3313 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 Count the number of entries in the Rx queue for debugging. Tested, using testpmd, for different hardware version on ESXi 7.0 Update 2 Signed-off-by: Pankaj Gupta --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 1 + drivers/net/vmxnet3/vmxnet3_ethdev.h | 3 +++ drivers/net/vmxnet3/vmxnet3_rxtx.c | 30 ++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index d5f9903946..2725e49ae9 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -294,6 +294,7 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev) eth_dev->rx_pkt_burst = &vmxnet3_recv_pkts; eth_dev->tx_pkt_burst = &vmxnet3_xmit_pkts; eth_dev->tx_pkt_prepare = vmxnet3_prep_pkts; + eth_dev->rx_queue_count = vmxnet3_dev_rx_queue_count, pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev); /* extra mbuf field is required to guess MSS */ diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h index 7ec3b2e1f0..ceaeb66392 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.h +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h @@ -193,6 +193,9 @@ int vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint16_t nb_rx_desc, unsigned int socket_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); + +uint32_t vmxnet3_dev_rx_queue_count(void *rx_queue); + int vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, uint16_t nb_tx_desc, unsigned int socket_id, const struct rte_eth_txconf *tx_conf); diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index d745064bc4..e15b377d8c 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -1019,6 +1019,36 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) return nb_rx; } +uint32_t +vmxnet3_dev_rx_queue_count(void *rx_queue) +{ + const vmxnet3_rx_queue_t *rxq; + const Vmxnet3_RxCompDesc *rcd; + uint32_t idx, nb_rxd = 0; + uint8_t gen; + + rxq = rx_queue; + if (unlikely(rxq->stopped)) { + PMD_RX_LOG(DEBUG, "Rx queue is stopped."); + return 0; + } + + gen = rxq->comp_ring.gen; + idx = rxq->comp_ring.next2proc; + rcd = &rxq->comp_ring.base[idx].rcd; + while (rcd->gen == gen) { + if (rcd->eop) + ++nb_rxd; + if (++idx == rxq->comp_ring.size) { + idx = 0; + gen ^= 1; + } + rcd = &rxq->comp_ring.base[idx].rcd; + } + + return nb_rxd; +} + int vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, -- 2.17.1