From patchwork Fri Jul 10 16:06:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 235246 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp589902ilg; Fri, 10 Jul 2020 09:10:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJynYPcguBKzkFWXzKaBGx0W1LcX3fu4v3lrRL5G2LbjxYo7+TDXBySXFwB4qVNDZ9ED9HD1 X-Received: by 2002:a17:906:2304:: with SMTP id l4mr60454475eja.104.1594397434233; Fri, 10 Jul 2020 09:10:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594397434; cv=none; d=google.com; s=arc-20160816; b=mKtfJOko2PRD7G/cNovPMLjCe16ZW8+KK87l6fwyC/W+Y+Fgn4sj/uOzjX2Lg4U9UI Z7mNWtOjskfUJUmpeR6mOfaSPjl9VcJozU3dXEMxLpY7L68fSUUlh78cb8Um+OLTxZzZ faAUlI2BI406ZIz/MbDdhOt18GrFzRD2HeBAMu67LqBhAdXFS112dKJO6g/aNd6DnvBW EN6F2LZZTgZjHRC9MSKsEQFChiB/N7itawIkHgE7l+Ub1PIveGGoBHPBxy2SoikrvfNL 7Y1+QfgXZcqk14sR4JpqSJpj6ZARPCIRKUow188+eygXNiAosY1H/pP4ErGlbt6dV3/u 0dLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:message-id:date:cc:to :from; bh=ycUXMaaUUP4kSv9iTYkdJFNLfBtwRpuTNP3FlITQnnE=; b=NthhwKK9gEgY8ytQbPP63LsQsq3spEFYsS33D8z3DgmuMHsfpgvKmRVE1/j78a4ns4 nYYfeRS4ETZvIWWL/0kyIEMk8STDq3KjTgbkBzL2StIOkY70dVD6lrOGVVpYhqKDejAv IBr7lnI8GGWa8ZNC31lR88KUojYE//9Tl4WdRpgCEb5gns3HDqzxFGBhqBRb/j31RGEO YftxMiWQT6EV3s4HDU8hT0XgDzZcDuIaF5GHltW3mL9jniq5HTgtQqDRap9lGKROjGtD e0K7bcKwERS5KsR6lMAkfaun0xqu2W/yyU2uzNPR+lysDv2qlzAFGH8+GcRi8j7PcHeB 2Skw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from dpdk.org (dpdk.org. [92.243.14.124]) by mx.google.com with ESMTP id m1si4424366edr.207.2020.07.10.09.10.33; Fri, 10 Jul 2020 09:10:34 -0700 (PDT) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) client-ip=92.243.14.124; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C972C1D960; Fri, 10 Jul 2020 18:10:32 +0200 (CEST) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by dpdk.org (Postfix) with ESMTP id 2D3F51D914 for ; Fri, 10 Jul 2020 18:10:31 +0200 (CEST) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id E7DBA20130B; Fri, 10 Jul 2020 18:10:30 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id B78E320031C; Fri, 10 Jul 2020 18:10:28 +0200 (CEST) Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.133.63]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 95F4C402AA; Sat, 11 Jul 2020 00:10:25 +0800 (SGT) From: Hemant Agrawal To: dev@dpdk.org Cc: maryam.tahhan@intel.com, reshma.pattan@intel.com, Hemant Agrawal Date: Fri, 10 Jul 2020 21:36:10 +0530 Message-Id: <20200710160610.22844-1-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH] app/procinfo: enhance port and mempool info X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" This patch enhances the port info for more details about the port and queues. This patch also add support to get info about the mempool ops. Signed-off-by: Hemant Agrawal --- app/proc-info/main.c | 63 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 11 deletions(-) -- 2.17.1 diff --git a/app/proc-info/main.c b/app/proc-info/main.c index abeca4aab..2dda1e201 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -661,6 +661,7 @@ show_port(void) { uint16_t i = 0; int ret = 0, j, k; + int rxq_count; snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD %"PRIu64, rte_get_tsc_hz()); @@ -672,12 +673,27 @@ show_port(void) struct rte_eth_dev_info dev_info; struct rte_eth_rxq_info queue_info; struct rte_eth_rss_conf rss_conf; + struct rte_ether_addr ethaddr; + char name[RTE_ETH_NAME_MAX_LEN]; memset(&rss_conf, 0, sizeof(rss_conf)); - snprintf(bdr_str, MAX_STRING_LEN, " Port (%u)", i); + rte_eth_dev_get_name_by_port(i, name); + + snprintf(bdr_str, MAX_STRING_LEN, " Port (%u)(%s)", i, name); STATS_BDR_STR(5, bdr_str); printf(" - generic config\n"); + ret = rte_eth_macaddr_get(i, ðaddr); + if (ret != 0) { + printf("macaddr get failed (port %u): %s\n", + i, rte_strerror(-ret)); + } else { + printf("\t MAC: %02" PRIx8 ":%02" PRIx8 ":%02" PRIx8 + ":%02" PRIx8 ":%02" PRIx8 ":%02" PRIx8"\n", + ethaddr.addr_bytes[0], ethaddr.addr_bytes[1], + ethaddr.addr_bytes[2], ethaddr.addr_bytes[3], + ethaddr.addr_bytes[4], ethaddr.addr_bytes[5]); + } printf("\t -- Socket %d\n", rte_eth_dev_socket_id(i)); ret = rte_eth_link_get(i, &link); @@ -685,18 +701,21 @@ show_port(void) printf("Link get failed (port %u): %s\n", i, rte_strerror(-ret)); } else { - printf("\t -- link speed %d duplex %d," - " auto neg %d status %d\n", - link.link_speed, - link.link_duplex, - link.link_autoneg, - link.link_status); + printf("\t -- link speed: %d Mbps %s," + ":auto neg %d :status-%s\n", + link.link_speed, + (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? + ("full-duplex") : ("half-duplex"), + link.link_autoneg, + (link.link_status) ? ("up") : ("down")); } - printf("\t -- promiscuous (%d)\n", - rte_eth_promiscuous_get(i)); + printf("\t -- promiscuous: %s\n", + rte_eth_promiscuous_get(i) ? "enabled" : "disabled"); ret = rte_eth_dev_get_mtu(i, &mtu); if (ret == 0) printf("\t -- mtu (%d)\n", mtu); + printf("\t -- multicast mode: %s\n", + rte_eth_allmulticast_get(i) ? "enabled" : "disabled"); ret = rte_eth_dev_info_get(i, &dev_info); if (ret != 0) { @@ -704,7 +723,17 @@ show_port(void) i, strerror(-ret)); return; } - + printf("\t -- Driver name: %s\n", dev_info.driver_name); + if (dev_info.device->devargs && dev_info.device->devargs->args) + printf("\t -- Devargs: %s\n", + dev_info.device->devargs->args); + printf("\t -- min size of RX buf: %u\n", + dev_info.min_rx_bufsize); + printf("\t -- max config length of RX pkt: %u\n", + dev_info.max_rx_pktlen); + + printf("\t -- num of RX queues: %u\n", dev_info.nb_rx_queues); + printf("\t -- num of TX queues: %u\n", dev_info.nb_tx_queues); printf(" - queue\n"); for (j = 0; j < dev_info.nb_rx_queues; j++) { ret = rte_eth_rx_queue_info_get(i, j, &queue_info); @@ -718,7 +747,15 @@ show_port(void) queue_info.nb_desc, queue_info.conf.offloads, queue_info.mp->socket_id); + printf("\t -- mempool name: %s\n", + (queue_info.mp == NULL) ? + "NULL" : queue_info.mp->name); + } + rxq_count = rte_eth_rx_queue_count(i, j); + if (rxq_count >= 0) + printf("\t -- used rx desc count: %d\n", + rxq_count); } ret = rte_eth_dev_rss_hash_conf_get(i, &rss_conf); @@ -734,7 +771,7 @@ show_port(void) } } - printf(" - cyrpto context\n"); + printf(" - crypto context\n"); #ifdef RTE_LIBRTE_SECURITY void *p_ctx = rte_eth_dev_get_sec_ctx(i); printf("\t -- security context - %p\n", p_ctx); @@ -1176,8 +1213,10 @@ show_mempool(char *name) if (name != NULL) { struct rte_mempool *ptr = rte_mempool_lookup(name); + struct rte_mempool_ops *ops; if (ptr != NULL) { flags = ptr->flags; + ops = rte_mempool_get_ops(ptr->ops_index); printf(" - Name: %s on socket %d\n" " - flags:\n" "\t -- No spread (%c)\n" @@ -1207,6 +1246,8 @@ show_mempool(char *name) printf(" - Count: avail (%u), in use (%u)\n", rte_mempool_avail_count(ptr), rte_mempool_in_use_count(ptr)); + printf(" - ops_index %d ops_name %s\n", + ptr->ops_index, ops ? ops->name:"NA"); STATS_BDR_STR(50, ""); return;