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 49B6BA0093; Tue, 3 May 2022 06:23:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0CDD842838; Tue, 3 May 2022 06:23:16 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2086.outbound.protection.outlook.com [40.107.244.86]) by mails.dpdk.org (Postfix) with ESMTP id 42C0542830 for ; Tue, 3 May 2022 06:23:14 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OQD1mpLY0M0TOO03ZdxKq48YuwICUeCWzM2x17F82bB8KiOP7WWDPclKwan/22Rh4HHCciH0/KRadTQS9VTmF5tDhAOCTTqnev6Rlxj+xxvPlFS+oY1AyMi2PNo/nieBoULj+2BN2D2e3YY7trv6LErYPJpYm0/lgTh50pva/1H1HB2Z/ljuNbJFqBQeYdgvZwWghoqd3mzgIi9nQ7Ljp+ywqF+W3VfAq2bHO43qlI8P8dIv9Ekh5gC6qrV0BgvaIDnPmOI3U9uyFt8kaS9bELabFhvDc+3dt/zKPs99JIDKF0trutifjLGEvflVhnUreguIzjLZnXCcNUAB67HOqw== 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=aUVbgqWXmD4LRjRoRRPQ+WQZ9gDOCxxa6NV0YS8sBeY=; b=G7ZeE0ghxVLskhcl6gCKpyVt4UZilbF9D6ZknLg9hnWLIGBhvCEDwvuZZHFcXKbyiZZXtYvbgoqWOXPbcHeF+w4Kqra9ewG+ude1utvayFXIqrklzVfTLxaA0vKhh6heDhgo/jtds/Qpj+R+0N8hAHn1vELwNAjtiXanhaFUeiFdd+ppJSIvltQD8rZx98o5TZlOzmz9dJP9Om9HjvfV0JOKy0ZKa2WDbqE/lQbp0emk5fWYR7/QdTUHokE9lImuKZbcydk0/xQCU6HFqIk2+F9EfIfgmO2TDYiZHRU4FDJu0VFVY5G+QXhbdEJQtXQIZLhRfyJT+kC3dDnJOitT/g== 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=aUVbgqWXmD4LRjRoRRPQ+WQZ9gDOCxxa6NV0YS8sBeY=; b=Przq6jSWQKaDoMgR4UT69BP0ci1sD+ptLvvuBLAtpojsZxiyrYnROYFLNk3diIjEP+PJP5T/34Xr+bf2mHKWzcXwgpla6JmOtr15dnRaBNnIVFA8pGM/LdAijgfJxSYFX4a+1wPV/j4o3RiVJ33mfTrYWHpNfp3I2HIsSERzpa8= 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 BL0PR05MB5523.namprd05.prod.outlook.com (2603:10b6:208:68::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Tue, 3 May 2022 04:23:12 +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; Tue, 3 May 2022 04:23:12 +0000 From: Pankaj Gupta To: jbehrens@vmware.com, yongwang@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH 3/8] vmxnet3: add rx queue usage count utility Date: Tue, 3 May 2022 00:22:52 -0400 Message-Id: <20220503042257.15626-4-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220503042257.15626-1-pagupta@vmware.com> References: <20220503042257.15626-1-pagupta@vmware.com> Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0059.namprd03.prod.outlook.com (2603:10b6:a03:33e::34) 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: 14bab9a2-67e1-4ae3-1afe-08da2cbca227 X-MS-TrafficTypeDiagnostic: BL0PR05MB5523: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: kD1ZsZu3DhqnsTT7W8djYsbjre2KwPvpkWgnf7hgtwh4YtMLhSkP3Du2yKBr+oF6SSRaN1x+tU3Am4HiW5qB8y8eC7FRBW+SNvRL8dKwVd4FZBM3+/ZwiV/NbWUIyFjbCizdyvMF9capZIQRw0IJ1rSxUc8vHBd053QYaHf2eaZVxe5O4kGqM1LUxRFK5Eediwhw5YDilt3kYmDDKnsRcuwMWM4pkpkFqBIzoBgWkfRXcKgoyFCm7qNQpMf05gvuR+uOHcImvLcQqTwlT4BgGJ2FfaDgNiFLtjq9U7QBws0l+9DKk8sY3b0GQc1RQK0pMPCl5bisCPVdWfGeTppBoPGh0PzPHCuhWiClDBxN7s6GqCMvmHJcRrtEh5hgayafEMlMOc99G/G2xbHC06cQ9ucJ4HdbKAdW6sbmQ1jViGv+Bo3ndCK8RPHf7aoV5u7xBKeT02YlHLltu9IbF6cFGT9XdQLDdFRSlVNv39ofr8OlYH58RGMcYYkoepNV9VKmUEkgOri12cATn1KJdgMirsWJ9XahY8dzZBU7oQg+HFbD9LGNKjYKKwdeFsJzudym6lHoyWYsK4jydMPLSfGDk9ryqEzy1EH71CE8ptlfcxx9am145EPc83+oX10+XukzGaGLJJhnsH95NCwFpa9bid8lK1M5yMP9US64n3JWQ4fWEfUPDs4zdH2+WeyItazsDlZDIUL1vm4TXCLNoBpsEQ== 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)(6636002)(38350700002)(19627235002)(26005)(107886003)(83380400001)(36756003)(1076003)(8676002)(6506007)(86362001)(2616005)(66476007)(66946007)(66556008)(38100700002)(4326008)(6486002)(508600001)(186003)(316002)(2906002)(8936002)(6666004)(6512007)(52116002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gW2St32NGCnzFzFZ1P5Qgz97QEtuFAxDRi05UyV+MzbyI8pRpjfffWhfVvQ3?= =?us-ascii?Q?qwUEbWNuZ9Sq3MWkaHTSkgX7eYOi3z33pE0Xw7q/lR9nv56fG0n3TnvNzuXq?= =?us-ascii?Q?R481eWYp/aCF72IzZh1O7qdAW7PgqpSvwst1MgfM+36r2bXU46hZx0idkvJC?= =?us-ascii?Q?Au7Xa2wbzxj8IKLCXR3fuTnit9VgMe0npV+c0BseOSGqVzv8GdpIPTY2DglP?= =?us-ascii?Q?Y+OPjETAHw1VJnQ2uXPLS0/yQIDR897cHWH9e+QxnNM0tO4ikV+Gi4Eee8wb?= =?us-ascii?Q?+z0V0uG03dcex9A4jmTRRSXZLGCkfi6jlH71499quz/9XiGrOAkz8BvUlA6G?= =?us-ascii?Q?BB2lHyy//fAKw9RRYFubN5te7C1z21UX7MPot6uplNTwthspcNUc7K7iiSj0?= =?us-ascii?Q?5hRHYZltPxwRG+3C/IPgpB5Y5wP5nLsEJpdChTwj5aQQz6wCnobVxCuTNG8q?= =?us-ascii?Q?BYND7QB2cnJvmTKCfVVuLgkdPTPmpsvLrN6Yh7tw4rqnyJp5DL/21nze7v2a?= =?us-ascii?Q?30mq6pXgeKiAeWz6NwgydRdgTakKmyvIxpZqOMsRUqn0SmYTJvkvuqo3BvQA?= =?us-ascii?Q?SJClvw1fIj9WR9KMIbGMB/17oGT7nLBzF4IWIUQ5C1dv+1H5i3VUHjmAF8ZJ?= =?us-ascii?Q?C1VmJWjDrdyTbUIYyeO7bmarG9/ztbQrVB7EJcGv6xyJJ9UoVsb/6Lia2Mzw?= =?us-ascii?Q?lD28l5GjATgB5xJ/HxKiX2g2lvyBAfv2qFY9pa3zPjZPJwA4MoqcU7K6HW0v?= =?us-ascii?Q?f25z9m6rrdknATpiL7dMetIGXpVpmZEVlNEPpQu7dC0FMDb7FwZ1yZb/bRot?= =?us-ascii?Q?BHZSPlEPykSS5jtAgnw3qwDSf7C0zgVysZi84rfnLcadxMUuXn407spWzk4Q?= =?us-ascii?Q?rzCELbKKQysO3MV33EYWQHuEh1Cs8Xgi2lK8NYTstgsHI7qL/0gQDtUfcZzn?= =?us-ascii?Q?oyGc9lFDjboPbeqKffbu/8B7Yk1Lyd7nofF2ORzC7+x4A3iC0pIxrJMeLw22?= =?us-ascii?Q?VbyufcZZf1xHzWa4ulFpbKiuy3rtltsfsRCN+BmUC7tnrmAYcXgqixdk9Khj?= =?us-ascii?Q?J0v9Q2/QZVWpU3vKzWCT3Ez/ysGSChuGuKXTlqzXN+96QY2+oT6eLeCl5RGl?= =?us-ascii?Q?5bOHk0AzTEDZLaHjmW8KizDCOqMudPXGlnbgmvGgLvWwXjRGnqUy0P6RhOjz?= =?us-ascii?Q?RbexPvTqHTeBevjUIrqYLu8M88+1n1O0PsOAD0IyYKxP+VQ2UdbY6391wteJ?= =?us-ascii?Q?uCoiHwv1UZ6f8NEkM2M7tV94S29NawZH4pNl0sZc//d9xAL2bvZ4THVUdtTc?= =?us-ascii?Q?tewXU4m+V8W8W8sg/uAR6OxstQoKUg80VrlHQsASJyMgzhuFE+a+wH332US4?= =?us-ascii?Q?r3HdyP4aOzWUVg7YhvtdK2HlKUhmR1CNXIxJilQqC/G5AdcwutGt2Sfs6sZP?= =?us-ascii?Q?T5caIY+FK0Aap2ceJCyrxjcgCO6r7T6yyujxmmgzNWBSzFgpjWPtGzMzhur4?= =?us-ascii?Q?htOXU9QXbvdLlNoZQT2+bYKK/Z+SlcI4PCp3oJybOvXeTgsEeOHlM75MYK9t?= =?us-ascii?Q?0oyLjgJrQVWTiI+vUtcI2FIPVzD9vJWjiBs0wpbQz10RqHYkm5vSPAwI4TDb?= =?us-ascii?Q?eMLzyHi12zwpooCY7mAmZ0OEjnlpszwMa0zFj7F+AniDVlci5yELAHZVX/0d?= =?us-ascii?Q?f9ztU1Bjrl6copHVDES5/Nc/G/YC4PEgDDHMsAsR9PVvVme1aX2WmKKP1sY1?= =?us-ascii?Q?ejBRUSpusQ=3D=3D?= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 14bab9a2-67e1-4ae3-1afe-08da2cbca227 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2022 04:23:11.3385 (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: Jbndzjfpw/U7pPu1sy7cISYaClcaZsjOGRzJCvy3gFXPHTXCgMYNCl4zzc9E3X0jIeBJTFunSqRAF1PAXj7+sg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR05MB5523 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 eb65499cf2..a76796716b 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