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 D6F56A034C; Mon, 2 May 2022 21:47:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D2DC94282C; Mon, 2 May 2022 21:47:37 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2040.outbound.protection.outlook.com [40.107.93.40]) by mails.dpdk.org (Postfix) with ESMTP id 55492410FB for ; Mon, 2 May 2022 21:47:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XsmAVUikI0Ijva3rivH8kduWsuaY+CtT6PfSjhQVgf2njqkM9omfiMpRftqmGF+8PEXIry951jAUA2yZ/zXndoSAq3ZN6PBWBrNeOUNpsRT6cbV8iIP/jkRJ315jXc8JFSRy1uwWZ1b18IO7cKxqyd9uIe0YwmbWL6rdpZzXcr8SPVGqnjE1T9w5mxma+uWQ+o0878ZGdeIy5sGJKLeSkz3fVhMTXBYNuIen8lc3Ruynqjk4aNEuOKRPwbz2qsn33CGvjBgD2ZTp1Vl2bm5K52WlXIfU8d0ZCnS1shBqhSxn1Q2YB018a958k7GKP92P5nBxKmC+LdNdEDPkyTPa/Q== 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=bg1eXDIRA8G4IeOig++y9AyokbzBu7eYGEbNvi+wYQ9IF+56UXqPggUQv6DpFpNcB0XNg2KN6PF/kYELzDZLjJhrqcFIRa3y8lI326QAYntq2+tsR00o0mYTlWLkc9YKYX36IrWZlHRY1M49HXVP0indaTIEBsnfxW2gaF9oYeUvCHKwKbxZdLc+Md3mMypsC+ErNuIn2O/V9/LYxZKHVTm6AREZTQQwouhRlK4BdK03euK/8tMpUkmoDCd8iJM9eTEYn7kqmMfBltIA4rvvPrDKtHRjVrBwJV9UR+vm7SYt/tpobj6hyZa+h9BmwKVKeeZisfV4WNDpJtsAgFz4lg== 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=pP7XmxgWH/YmyIqAS868mBpA0yvSAVEEOT6M0jl+pFvr6eaQpisYKtXIwkG9Ejc95mV1leH3H3h+snqjzIQg+GrRy/lnYgk3qI0B8O+FSEyDe2XwkE07FjkTuLpraKm0EPMcqc/Ap8rZfPE7VZ0vZvqaQ6cTwFh7EJK9dVBiFQ8= 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 MWHPR05MB3294.namprd05.prod.outlook.com (2603:10b6:301:41::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.12; Mon, 2 May 2022 19:47:33 +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; Mon, 2 May 2022 19:47:33 +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: Mon, 2 May 2022 15:45:52 -0400 Message-Id: <20220502194557.16016-4-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220502194557.16016-1-pagupta@vmware.com> References: <20220502194557.16016-1-pagupta@vmware.com> Content-Type: text/plain X-ClientProxiedBy: BYAPR01CA0049.prod.exchangelabs.com (2603:10b6:a03:94::26) 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: 9ef7c64a-c906-4eb2-d443-08da2c749941 X-MS-TrafficTypeDiagnostic: MWHPR05MB3294: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: gNla+vqA9xRSBjH3+biMf8wJT5yTPTXBxRb7iDuG42VSidqs//LCxIUtMISVbnMlRx7COZdoryTkrgCEhJ32NZtnWPhpw9JWlxVTbxRwtFYlUV8HbM3Gn9mq1Hw/t/XaVJdm7+3QBPi1xJz1O8YSVMuHyzNCSBYvyAFcV428lhCDM8DrqFyECw3V5ksMuKhH+X0wsXUspb6MZ6FVm8DCV4y85Ad1TcFWRKgNcdpcyZngK6ENF1QqtKLZLl8rxWIZkGIqSBfvcxExUCJnC3c3LAytWNmcF9+o132srsVzYVC0LGVQeZD1kvC44zR93+iVwe3mAETXo0kilR+FnPGtj4ypMPj4EYid4x9d2JFFV9ZL1qK0qFC9YPn1DeWIaOXYcaMWXRHSpHMjVLhnvewREDU8NS8sZAlnny3emuefZbBwRpcDqKm/CEuyEuacoRiCK3U17/4rqRu+C6luGBOhrTlkpT5cCedf87mrJMTpReN1JjM3B75qE+YJXGEUBKxPvM5yHukSUM/kGYCvkdj/ZOPDfpkIaRmIPDA3sM2uP+R35YnwdM8lf0oJH+e2vJn7tKfLZU9xTWN4q1KfVevnsrpmt/r9s4xI1C1CaP/K8Prsx+w0HyM2aw09rAR7GhblK0/bbXDG5UmE/bubyUKUtmGmiXQ/vXSYgU4m+vHQeROeju7SPXXCtoHc6zQ0faB+WohZAiAB/C6tTXrW6Ag/Tg== 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)(6666004)(1076003)(4326008)(6486002)(508600001)(86362001)(186003)(83380400001)(38350700002)(8676002)(52116002)(6636002)(2616005)(316002)(19627235002)(36756003)(107886003)(66476007)(38100700002)(66556008)(66946007)(8936002)(6506007)(5660300002)(2906002)(26005)(6512007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?soMB6G418+rP7pIdYUDxVnA+2fRe/d6Rd3Y8A6PC3yTCdcM3ZP7qWqrwserd?= =?us-ascii?Q?wzN9OEelPIPYdnDwjRgPGClcjTb6VSb8Rj4pkdJHnLNTltySCub1GJWQnu9+?= =?us-ascii?Q?JdtZ1rHdhfSTKLjAZEEJ5vhJCLPpgep8kBWXA0PTig0og/lh/xqljlV1GN2l?= =?us-ascii?Q?z5EI83SCe9WSzo7dW1e5rLzGh25kGQAZzaGh77Cx+Iq6oNFhA819BAYEbivs?= =?us-ascii?Q?/AOezH4xB1KlGo9saSjPUEYHbqYJ3RwOerY2rFDhiJq3c8X9l1wP+jMeFBhF?= =?us-ascii?Q?VpUNmJteyo+mEWEEBgyWNkRkB7Pejaqu7qcsV8pboim9U2cO+C5x3Wrpe9og?= =?us-ascii?Q?73oBR+shwBdqfRcDOftgrado4v1sY3SaHGjpO+u/t4DEEqF8ZuJt7C9ilrdY?= =?us-ascii?Q?IQbzVFQegOJvUyfyhEorPMlX/9nOvcr7q+q1xT1adkrlIeIENBnqIpPJRjnM?= =?us-ascii?Q?j23I+mzeKaHcceXzGB+T+YPHBMw883TAlxpPpYUOSCRyfdpYskZmn1jgocQ4?= =?us-ascii?Q?cmV79XlyG3HFI0UQPZza7ujeg7PIDXLS11Du6EToBwcczu7exJ1uaA1APrY5?= =?us-ascii?Q?GGwuHrem3I7gQApnUtihTxPD1DBRdwTp2b2tjCr+KrwU6+cp4jPcyKTcJiEF?= =?us-ascii?Q?fDj5IyprGzpYhMt3UfnpMnsxiqVxuX1l/ttsDprnZWOiDE8dB3PAr1TJ/17n?= =?us-ascii?Q?Z6rzLFz2qd/ycO46oto0qKcVYeCNQ9gsWAh4UNocRaCz2Gi+qYg8+yUl1wRi?= =?us-ascii?Q?hSs5bgc+mSBwezO+Nv6M5Hqty3azhrzNxEp4pJJSmg7daR4ICMEDnTc5L5Pr?= =?us-ascii?Q?e8jwLlb0KRvwy6RyNu3h7Vm8QAIbXI8/FuwqsUTgQyX6rYwwkUwQUCviUZ6I?= =?us-ascii?Q?1PiK8f+iSoLJmP2d0L8e2x5+nEjOH7AAPWeWc5vcIPKE0brtws/dFvkGjm/B?= =?us-ascii?Q?nH6AoocohRQ2ov65SyB9O5mZz4pzWrQ48/Nx6W9kECAHcD6ebqJb4MtYWvBe?= =?us-ascii?Q?x5vel9pWQIRlJhoAqnllsrC1sC3w030OKtcIs6FijBHDV4tx1BrVjnsWfmST?= =?us-ascii?Q?kfp1A6o7gO5ae4od73Y5FqwZGtNzZjljQRbcvhZeqQviQsbVYw7jshC9poy5?= =?us-ascii?Q?WZwY00U1hnsRW/tHCzjMrsjWIiMYZtj+lbry5kvcs/wb3bM/qcfw3QPPioCq?= =?us-ascii?Q?j/oDfWenfUJOM6inoX9mUFxFK3E/9N1VtqdMrJlz5gRExJ8QHWw5w50RNHrw?= =?us-ascii?Q?nwd2fXmrahoKn7CsgDIu+U1fmt6JasP3ChAE3UArS+RClBn80/1IpTzYLEfy?= =?us-ascii?Q?G+CZObw0RBJCTjxTI1w/2/NsmFJuO+Lj/dh68U1KJVS7AfrtNXflT1l2Amk7?= =?us-ascii?Q?SACtR8l3U/M6H4cZ175AcLHIFafjpxdS6l9EEL0sHGq621Gy4jruo3OOreHA?= =?us-ascii?Q?2a4tWdGUgdojkOQmFJtq2x5iTvjPzXkeMIdhaq5rESr9/fmnUVjbA5ey2dnA?= =?us-ascii?Q?92E/wcb5FkRa22QCuFuyMVT3s+x8uGSSlHM0X/CkScNjDxSSUes3Fo1lZ1Q8?= =?us-ascii?Q?bImxFvdGYS56gmla8fjyc2ubJ4IXTRB7DD1IpkUY3T3F+UqAX7dumctKbwGg?= =?us-ascii?Q?VSNZVlXq6Yfs455mGlKunNdIzN4b7vRrmEssD9SsgXY73GIS20+bIpLrS2aV?= =?us-ascii?Q?YYW8/K9ZdNMXlKwFe0Q7JHAZ+Yv99Uypwn44bq6qmt65fD8jpCCfzTM9RKsb?= =?us-ascii?Q?VlYDaErBDg=3D=3D?= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ef7c64a-c906-4eb2-d443-08da2c749941 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2022 19:47:32.6809 (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: KMmoX1SI7b9QilsuR14nCJYLyZvj+p2Q23TZdVCJ0hAG95Btki2adK7CwicHApYgPEkOuruxBt2er/mg/urvcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3294 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