From patchwork Wed May 6 19:37:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69864 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 31B84A034E; Wed, 6 May 2020 21:38:01 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C717F1DA91; Wed, 6 May 2020 21:37:55 +0200 (CEST) Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by dpdk.org (Postfix) with ESMTP id AD6401DA89 for ; Wed, 6 May 2020 21:37:54 +0200 (CEST) Received: by mail-pf1-f195.google.com with SMTP id x77so1561426pfc.0 for ; Wed, 06 May 2020 12:37:54 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=O9fu9kOnUqBm0nI2bnPcfQjjB7AkKseKmp5h0LwACjY=; b=cRqYJawkC0Y2Qvr3PgDoCb1FMxSOStA5jqlX1MhCueb6q4QpJoV8Hv8PeUY0oV3hss xpNCdQeDA0GkyiPAI4KVOPYaI77RDGlCIy5oLh+3cAjg282ikqJw+cthFyozQonwUyjy +1l/xACGKAH8BRgpYqVoKCAI//E5gND1SWJhrgIsHVFNOEizMFV38+gSJirVwfwLXrzm ED5KmVhdlbBP5gnOxmhfffq5ELAAU3t4UZWBBqgj9CpVyR2zqI9X+vvHMzOultU80spa Ur6mL07es6Y4sTF3LgtwHAynwOZGvtteQZMf6gCSMEcxxKkLLD3m4FXTaXz3IQv4UxOb GsIQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=O9fu9kOnUqBm0nI2bnPcfQjjB7AkKseKmp5h0LwACjY=; b=Pk5NYY+hqsTgC5YeXAg8M0balZ0dSVuhoACFSxaidu+ogJwAIZ4GaGEO2OqvivNMct qLbjwfrEKOdWzUdA+j6YH4zLeUwfA3ZISh6YRSl2fg6ihDhmRHrgj/tWDS1Ohmb3ufz3 +kWhGkSVOWBA3BuX1LUszpqeZapZFDt377Zwi4PfnDhYy8j8FS9sSq3M2tzs+ydYwOv8 IdIwpGi2OqbvtZ5uqUyaDGikS4ceHYzjrSHWtMWn+4nunrZ1Jqw715FhMmmja6HViSLo dL2FDa3WPvJqQSj5pQQmzHhOg+5tlkYyHWrtga0dngQPWwZ70rmcT+tuL5Oy6Bzxp7R5 vP8A== X-Gm-Message-State: AGi0PuZAk6jwOOoHpO+tlDn5CbEYwrx5dR8FlhFwnPvtkcI33/RgkNPU aDzD3Zqab7HVZC6Q/3yhDhOirElEzwPXbg== X-Google-Smtp-Source: APiQypLHZYotSEaeKE+Y74+UqY/MO8FqWvduQ/LiX1ZtsTuAlRpArB2EZYMAfiNA7w7V+P3+5H/FZg== X-Received: by 2002:a62:154:: with SMTP id 81mr10010937pfb.115.1588793873442; Wed, 06 May 2020 12:37:53 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.37.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:37:52 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:35 -0700 Message-Id: <20200506193741.24117-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/7] app/proc-info: remove unused logtype #define 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 logtype is defined but never used. Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index abeca4aab438..69e3000616c0 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -39,8 +39,6 @@ /* Maximum long option length for option parsing. */ #define MAX_LONG_OPT_SZ 64 -#define RTE_LOGTYPE_APP RTE_LOGTYPE_USER1 - #define MAX_STRING_LEN 256 #define STATS_BDR_FMT "========================================" From patchwork Wed May 6 19:37:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69865 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C9CD3A034E; Wed, 6 May 2020 21:38:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 369111DA9E; Wed, 6 May 2020 21:37:58 +0200 (CEST) Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by dpdk.org (Postfix) with ESMTP id 8BCB61DA96 for ; Wed, 6 May 2020 21:37:56 +0200 (CEST) Received: by mail-pf1-f195.google.com with SMTP id x77so1561471pfc.0 for ; Wed, 06 May 2020 12:37:56 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=cVRlYW3K6vMtAg8xTdMb9RsDGBkkeKSa9AAsYVZ8BBo=; b=uEbQ8MgWQTHT0IgRmzjosYvlK1yZzmdwi1blw2+PF9rcFBbM59+/8LCjIla9+l01G6 /lCVe73sEZdBbPPpKgxHPbE4D/TYp+e86T8TfwUqltg2u8DtYgNKtqaGTvaGkEEUBM/4 MaHfyRIprnzsveUC80jKS+ZU7mRhmhrT7976Iv67DLbUOExqwito3KW89qdrzkU0UWhE qna5k2M+Z4R7ayg8yGZi1XZb73LZ1nNXOT80QlLtwxFc+pFOH9AyEThf6t5Yd8jHR6T6 YWSJWBc352whcE05sFIhagdMQ0p+pxOyhrW8zvkXCJhP53jT49rwukqoTx7B9YNCfB4V 5Htw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=cVRlYW3K6vMtAg8xTdMb9RsDGBkkeKSa9AAsYVZ8BBo=; b=aH9w5HJbArErtquIfNCRcO6LS65nbYG3+WfGgb7luxwUZV+8MZYx/uHqvTbQcY79bZ SM/Nu8XM0RtbVuuifGFui74ku+dOqHCkOXrM6WqHjh48isgGQPXV5OrCQN34XqqGTQlx +OKjd+DeAO1xg/CrNJgrvTyg5a7jXFftz++BBJcuIl4YxhrejVWuLBr1TBKzbvys68wh Z2RVBQ3auSfKaCN9YRtvZfFadeoVHkTJKH0Sk53oBDKwpdRNajg9rNvQnkimk+pXOhmk HArsxNe0VDk7EC2cqkyLbkSu16Z703pnqEj42vNqxf3lXx2KLOo3DKQZisbPZmyM7sSz xYwg== X-Gm-Message-State: AGi0PuZM2xlu1MMG9RFT+N5faKuiYyfpa/evCPeZZZSsQ8DLlsl0PLcS xf/5pIEjnYm5ka6OqIqi8fmICpNOS1u2QQ== X-Google-Smtp-Source: APiQypIxpK31MQh6GDIalinquk9Ab2o5tw9x7Oen0lN73DPrvy8sCYpN4Op8W79SBv+l/2E7yUyMFQ== X-Received: by 2002:aa7:8bc5:: with SMTP id s5mr10404173pfd.19.1588793875229; Wed, 06 May 2020 12:37:55 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.37.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:37:54 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:36 -0700 Message-Id: <20200506193741.24117-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/7] app/proc-info: eliminate useless borders 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" Printing extra borders does not improve readability, and is just unnecessary. Putting TSC hz in header also makes no sense here. Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 69e3000616c0..049818bad51f 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -660,8 +660,7 @@ show_port(void) uint16_t i = 0; int ret = 0, j, k; - snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD "); STATS_BDR_STR(10, bdr_str); RTE_ETH_FOREACH_DEV(i) { @@ -673,7 +672,7 @@ show_port(void) memset(&rss_conf, 0, sizeof(rss_conf)); - snprintf(bdr_str, MAX_STRING_LEN, " Port (%u)", i); + snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", i); STATS_BDR_STR(5, bdr_str); printf(" - generic config\n"); @@ -754,8 +753,6 @@ show_port(void) } #endif } - - STATS_BDR_STR(50, ""); } static void @@ -841,8 +838,7 @@ show_tm(void) unsigned int j, k; uint16_t i = 0; - snprintf(bdr_str, MAX_STRING_LEN, " show - TM PMD %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - TM PMD "); STATS_BDR_STR(10, bdr_str); RTE_ETH_FOREACH_DEV(i) { @@ -1038,8 +1034,6 @@ show_tm(void) stats.leaf.n_bytes_dropped[RTE_COLOR_RED]); } } - - STATS_BDR_STR(50, ""); } static void @@ -1085,8 +1079,7 @@ show_crypto(void) { uint8_t crypto_dev_count = rte_cryptodev_count(), i; - snprintf(bdr_str, MAX_STRING_LEN, " show - CRYPTO PMD %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - CRYPTO PMD "); STATS_BDR_STR(10, bdr_str); for (i = 0; i < crypto_dev_count; i++) { @@ -1121,15 +1114,12 @@ show_crypto(void) stats.dequeue_err_count); } } - - STATS_BDR_STR(50, ""); } static void show_ring(char *name) { - snprintf(bdr_str, MAX_STRING_LEN, " show - RING %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - RING "); STATS_BDR_STR(10, bdr_str); if (name != NULL) { @@ -1160,7 +1150,6 @@ show_ring(char *name) } rte_ring_list_dump(stdout); - STATS_BDR_STR(50, ""); } static void @@ -1168,8 +1157,7 @@ show_mempool(char *name) { uint64_t flags = 0; - snprintf(bdr_str, MAX_STRING_LEN, " show - MEMPOOL %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - MEMPOOL "); STATS_BDR_STR(10, bdr_str); if (name != NULL) { @@ -1206,13 +1194,11 @@ show_mempool(char *name) rte_mempool_avail_count(ptr), rte_mempool_in_use_count(ptr)); - STATS_BDR_STR(50, ""); return; } } rte_mempool_list_dump(stdout); - STATS_BDR_STR(50, ""); } static void @@ -1230,8 +1216,7 @@ mempool_itr_obj(struct rte_mempool *mp, void *opaque, static void iter_mempool(char *name) { - snprintf(bdr_str, MAX_STRING_LEN, " iter - MEMPOOL %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " iter - MEMPOOL "); STATS_BDR_STR(10, bdr_str); if (name != NULL) { @@ -1241,12 +1226,9 @@ iter_mempool(char *name) uint32_t ret = rte_mempool_obj_iter(ptr, mempool_itr_obj, NULL); printf("\n - iterated %u objects\n", ret); - STATS_BDR_STR(50, ""); return; } } - - STATS_BDR_STR(50, ""); } int @@ -1347,8 +1329,5 @@ main(int argc, char **argv) if (ret) printf("Error from rte_eal_cleanup(), %d\n", ret); - strlcpy(bdr_str, " ", MAX_STRING_LEN); - STATS_BDR_STR(50, bdr_str); - return 0; } From patchwork Wed May 6 19:37:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69866 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B3F8DA034E; Wed, 6 May 2020 21:38:20 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 860A11DAA7; Wed, 6 May 2020 21:37:59 +0200 (CEST) Received: from mail-pj1-f65.google.com (mail-pj1-f65.google.com [209.85.216.65]) by dpdk.org (Postfix) with ESMTP id D16581DA9C for ; Wed, 6 May 2020 21:37:57 +0200 (CEST) Received: by mail-pj1-f65.google.com with SMTP id t9so1437362pjw.0 for ; Wed, 06 May 2020 12:37:57 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=90iBiXV5XmX0SgVKgacby3wiPhsNz2j205u2CYgLpDs=; b=HqlWB1qAH5p9+ONeAAKq8Y/gdlw41sw7A8cACQ7I6UAlpabSAN7/rS2IO29KpwTzLr y4M7bBkJMdiT3P805GNVhPIKUN5nrNu99gvNd1Q2cdgSkYcPbgtAkzP0upaotGJteewI hoHEVVk/i/mYJEGe5jh/6PWMDp4dwl/riTrzIgrnzVIhkYlEBFpmlhmtDXw5Pdy4Pswu 0Xc+vM1rEuskJOUrBvg+dC0AxxozN/39gLqmz2n22YU/pRqtEHnpP5+58Gz+s/T9gxJt XeprGBWdp/oUtHS4RXK4TbWBDugTpD5vqQNHMh4692Sy6bqv1QtFgxff5PdQEl3LcIHy XEmQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=90iBiXV5XmX0SgVKgacby3wiPhsNz2j205u2CYgLpDs=; b=UT2UglYJGESSVGHq0kMiVxX1ZqvP3rPs47Yo9QWCKhbbj31AghLprGPS4Q690/rWww ABVyD2Dwt6u4OVvfVsMMbEOL4YoIK/fjSdkanseHqWUSydm3Kebxm8mchWhD5cglYcgT 9VQZGLTyKpQST3FpWs/ofvzD/ff0DXJlWEM8dUH1ePpZjS/0ltlhzaXhpw1eyxPJUXfl dwX73zjqWrtiglD41EKxr9UiB0++o2hkHWEHO8NwxdlnhyjopJizAd14BKNreIwQulhF oJ6j0pE8awkM3MJqSSv1Cl4owKWYe/v74VbmV5XeE8pXnQqn76uFQg0ymksUHZLnhmb2 przw== X-Gm-Message-State: AGi0PuY2ZTXUCdlZfZqIjmTu2DaqRZO3ln5cSE8sppyMBQVQl+YauPB6 1A5OE5KedscyYRrZIy1oCptZUUjfZiG84g== X-Google-Smtp-Source: APiQypLdwDjuerSUs6CqZvtqmrG3zBI4KYS7yGB1JtLyHUAIS7C1ZVNO/PJYsSzdS3/JTO4UnKUHbQ== X-Received: by 2002:a17:90a:f98b:: with SMTP id cq11mr11604915pjb.193.1588793876620; Wed, 06 May 2020 12:37:56 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:37:55 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:37 -0700 Message-Id: <20200506193741.24117-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/7] app/proc-info: hide EAL info messages 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" The DPDK EAL info messages at the start of a diagnostic application are not helpful to end user. Suppress them by setting log-level by default. Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 049818bad51f..e4914191bef9 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -1239,7 +1239,8 @@ main(int argc, char **argv) char c_flag[] = "-c1"; char n_flag[] = "-n4"; char mp_flag[] = "--proc-type=secondary"; - char *argp[argc + 3]; + char log_flag[] = "--log-level=6"; + char *argp[argc + 4]; uint16_t nb_ports; /* preparse app arguments */ @@ -1253,18 +1254,19 @@ main(int argc, char **argv) argp[1] = c_flag; argp[2] = n_flag; argp[3] = mp_flag; + argp[4] = log_flag; for (i = 1; i < argc; i++) - argp[i + 3] = argv[i]; + argp[i + 4] = argv[i]; - argc += 3; + argc += 4; ret = rte_eal_init(argc, argp); if (ret < 0) rte_panic("Cannot init EAL\n"); argc -= ret; - argv += (ret - 3); + argv += ret - 4; if (!rte_eal_primary_proc_alive(NULL)) rte_exit(EXIT_FAILURE, "No primary DPDK process is running.\n"); From patchwork Wed May 6 19:37:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69867 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 74988A034E; Wed, 6 May 2020 21:38:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F2E2A1DAB2; Wed, 6 May 2020 21:38:00 +0200 (CEST) Received: from mail-pj1-f65.google.com (mail-pj1-f65.google.com [209.85.216.65]) by dpdk.org (Postfix) with ESMTP id 88C111DAA8 for ; Wed, 6 May 2020 21:37:59 +0200 (CEST) Received: by mail-pj1-f65.google.com with SMTP id ms17so1396816pjb.0 for ; Wed, 06 May 2020 12:37:59 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=Qtwozw+v6vQna14MAnEn0kTDFF13F2eg+bIIqk+FXLc=; b=M+ag13d0vH+LnazZW243A3uyx978PY5I7ERedN6pdCEDcsVZK4dyH9pi4nCew007lW A5QZWlxRJX8sg4km4zsVQpl9UJZ/Nn8g2NyTH16K/5HiXiL47eyy6ilu7i/hnkJGrpxh m69rrkvNReIcNs9Hq1T3Ltl2xda/+AZZ0sBDiWzojGyKyY031xdd1lSs4U9eMWjOVfiT QLLyGXDB9FZbQgYr5K3DFv+jMp80F04xO1rrQbdxxcxhNYXcBnYca7dQwEGR1u7tWVER /RPGIi5h6EZcmK+9N7G1bhOf7j8cwjIQvdiSyauDyFm4cMm/1XImxzRUBtalgTdhgxqi eYjA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Qtwozw+v6vQna14MAnEn0kTDFF13F2eg+bIIqk+FXLc=; b=LtdBGPIM1N9T4Os82pEXMJX+8POZ9vVCqvuk3SZk5RaZgdN0Gnb/B5CPogDbGUbXnZ 5rFgLxPYAi3HUfhJo4Pc+2EhXAZzxMDALv5l1Ny8YoYXkw8v6aA6rsXv+QTbWpLE3h3f ztixSGSSPJY/R46XpAVM1V3ADnRMhzF/Jtlke7bylLtXdj9Uyd4acVmzJTl9My5hPWYx LIrjK6ox41CTeFYQFw2kZFfk7dZRcJzqn+Yev44vmsyUq4txC3H2z118yh3EDiniwu4K WrP2cizYl5/fyTQOV/ypzOsbJWgYmjJPj7GK0suKOMBW4o2SP+2ayhBf46Yx3PgQUEB0 1s7w== X-Gm-Message-State: AGi0PubsrJ9XkJkAN39wmbhFyguAH3i8ZoCtk7ZsAUfEjExdncERt3HU 85OwrlTA6UXmg/puxEl4vkhE08UBjAGrnA== X-Google-Smtp-Source: APiQypKqwSjUCsFSQr5jHSatUfjHbiOhMhvUx6Lu6kFlXyOevwPmBSMz5Y9bATYhAT7FjuJTgADM6Q== X-Received: by 2002:a17:90b:1b03:: with SMTP id nu3mr3787998pjb.220.1588793878254; Wed, 06 May 2020 12:37:58 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.37.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:37:57 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:38 -0700 Message-Id: <20200506193741.24117-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 4/7] app/proc-info: add more info to show_ports 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" Revise the display of port information to include more data and be more human friendly. * Display units for port speed, and decode link fields. * Show driver and device information * Show MAC address * Show flow control information * Combine lines if possible Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 78 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 15 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index e4914191bef9..2f74cbf462d5 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -669,6 +669,8 @@ 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_eth_fc_conf fc_conf; + struct rte_ether_addr mac; memset(&rss_conf, 0, sizeof(rss_conf)); @@ -676,32 +678,78 @@ show_port(void) STATS_BDR_STR(5, bdr_str); printf(" - generic config\n"); - printf("\t -- Socket %d\n", rte_eth_dev_socket_id(i)); + ret = rte_eth_dev_info_get(i, &dev_info); + if (ret != 0) { + printf("Error during getting device info: %s\n", + strerror(-ret)); + return; + } + + printf("\t -- driver %s device %s socket %d\n", + dev_info.driver_name, dev_info.device->name, + rte_eth_dev_socket_id(i)); + ret = rte_eth_link_get(i, &link); if (ret < 0) { 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); + uint32_t speed = link.link_speed; + char suffix = 'M'; + const char *duplex, *autoneg, *status; + + if (speed > 1000) { + suffix = 'G'; + speed /= 1000; + } + + if (link.link_duplex == ETH_LINK_FULL_DUPLEX) + duplex = "full"; + else + duplex = "half"; + + if (link.link_autoneg == ETH_LINK_AUTONEG) + autoneg = "auto neg"; + else + autoneg = "fixed"; + + if (link.link_status == ETH_LINK_UP) + status = "up"; + else + status = "down"; + + printf("\t -- link speed %u%cbps (%s), duplex %s, %s\n", + speed, suffix, autoneg, duplex, status); + } + + ret = rte_eth_dev_flow_ctrl_get(i, &fc_conf); + if (ret == 0 && fc_conf.mode != RTE_FC_NONE) { + printf("\t -- flow control mode %s%s high %u low %u pause %u%s%s\n", + fc_conf.mode == RTE_FC_RX_PAUSE ? "rx ": + fc_conf.mode == RTE_FC_TX_PAUSE ? "tx ": + fc_conf.mode == RTE_FC_FULL ? "full" : "???", + fc_conf.autoneg ? " auto" : "", + fc_conf.high_water, + fc_conf.low_water, + fc_conf.pause_time, + fc_conf.send_xon ? " xon" : "", + fc_conf.mac_ctrl_frame_fwd ? " mac_ctrl" : ""); + } + + ret = rte_eth_macaddr_get(i, &mac); + if (ret == 0) { + char ebuf[RTE_ETHER_ADDR_FMT_SIZE]; + rte_ether_format_addr(ebuf, sizeof(ebuf), &mac); + printf("\t -- mac %s\n", ebuf); } + printf("\t -- promiscuous (%d)\n", - rte_eth_promiscuous_get(i)); + rte_eth_promiscuous_get(i)); + ret = rte_eth_dev_get_mtu(i, &mtu); if (ret == 0) printf("\t -- mtu (%d)\n", mtu); - ret = rte_eth_dev_info_get(i, &dev_info); - if (ret != 0) { - printf("Error during getting device (port %u) info: %s\n", - i, strerror(-ret)); - return; - } - printf(" - queue\n"); for (j = 0; j < dev_info.nb_rx_queues; j++) { ret = rte_eth_rx_queue_info_get(i, j, &queue_info); From patchwork Wed May 6 19:37:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69868 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id BE57BA034E; Wed, 6 May 2020 21:38:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 402421DAB8; Wed, 6 May 2020 21:38:03 +0200 (CEST) Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by dpdk.org (Postfix) with ESMTP id EAAF41DAB0 for ; Wed, 6 May 2020 21:38:00 +0200 (CEST) Received: by mail-pj1-f68.google.com with SMTP id fu13so1386688pjb.5 for ; Wed, 06 May 2020 12:38:00 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=xmLSaYtfihDhfD+DIsnmr5rhkx+ex4NVrfXTem7sf4U=; b=NY5vClRMrVjpHro1wTPjmM/EQScT5jb9ScV8UDQr1eCXXV7TcxB5tvQufQyoWjIA1B S88Y0TK4Z2sbx7hQ1AuhmMYnAhsU1CysrWfVjFYZILVOVtZTg5N9kOl8LK0m/HWZL3dL v7hrP1244j/vQ+Y2sEsyKeuZnN1aT/RamUv52OxYUeziwr24sYtXwXNvwWLeOKK5wj4A 3nGQuwBdcZM/zA0jC2J6jDVFhwZ233eSl7k1dUK/GqzwFC1WkP5RKUOQMTLAQwdyj44k QvqTnBd4VTBXS9zamgztHKw1XGySwXxT0HXQ9FMvyAsoGonSvbpqanseZdRtp5Rax7Fc Ulnw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=xmLSaYtfihDhfD+DIsnmr5rhkx+ex4NVrfXTem7sf4U=; b=NGxBBxC4V33jTBVDqIzIxTm1Twknkpi6NM5QojdyatLRidr3JXZ6qXVKVm+giTKVWz 4UgsAjR2neXcriQQVvtLNQq2hruMsUscFcupAlPoIKn6E548FybKrdUItpbRU3Z88IoW HXWsVpz//QnHv7vwQCV8PSTgxl/+YgLYBYYWA01kzGJ50iFBx/RLEIzAfwc5ZZLRaulw LuB2SE9iTB0q5pXUlfTIEm6byCpUu/iUbtQZE8vO960eVJiEEZeaK9PolrHCbDP2N4O7 szwkOfzO+tKbrmw7pP68rj6QxAinyuWtkY1tew9q5rFHcW6873BV933Yj6qs/Mo3jrvP hOEA== X-Gm-Message-State: AGi0PuY/D8EX8GVVmJ4MtpbNev0BKQwfwYtL8G/yW9xZho7WTWxumqaE VOgHtTvUdxcCw/XgM/FFGSVo5927T2MizQ== X-Google-Smtp-Source: APiQypLri+MrzxgQV0w7g78jdVheebRyd72BHmOJ/W3NKC8CAZ9BERjTDYoOdniFg1bt0joh+gJv9g== X-Received: by 2002:a17:90a:a40e:: with SMTP id y14mr12031363pjp.101.1588793879674; Wed, 06 May 2020 12:37:59 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.37.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:37:58 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:39 -0700 Message-Id: <20200506193741.24117-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 5/7] app/proc-info: hide crypto-context display 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" If crypto context is not present, no point in displaying it. Also fix spelling error. Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 2f74cbf462d5..bb0e0cbe9e6e 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -779,12 +779,11 @@ show_port(void) } } - printf(" - cyrpto context\n"); #ifdef RTE_LIBRTE_SECURITY void *p_ctx = rte_eth_dev_get_sec_ctx(i); - printf("\t -- security context - %p\n", p_ctx); - if (p_ctx) { + printf(" - crypto context\n"); + printf("\t -- security context - %p\n", p_ctx); printf("\t -- size %u\n", rte_security_session_get_size(p_ctx)); const struct rte_security_capability *s_cap = From patchwork Wed May 6 19:37:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69869 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E5EF2A034E; Wed, 6 May 2020 21:38:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 90AB81DABF; Wed, 6 May 2020 21:38:04 +0200 (CEST) Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) by dpdk.org (Postfix) with ESMTP id 4B08E1DAB7 for ; Wed, 6 May 2020 21:38:02 +0200 (CEST) Received: by mail-pj1-f66.google.com with SMTP id q24so1394337pjd.1 for ; Wed, 06 May 2020 12:38:02 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=o2CMbHogHViUebrkgPJSBYa78OJtFT8GYhJoGmYV7pI=; b=wetMAMtvwJ1LdfViat7KcQ2a8jJcBI90PxFjZH5pcmWwuSB3+CkmEJRqhof+GH6MGg bko7nxOPmgduv/+5lXDCO3PnIciIUAdOmC7lSj6Q6Wa6AfGaQZuA7k1PJUK8jIoYuyFN Vl6/6uZNGlg1uC4MothRYy7L6DikS+M8vwr/4FMVeT0H38HbjBqHaskAA7muTant1OLy cXbY8UKNgRcyA7V6kltMD1tRd0xCKpUUemwd9t8TiBEP+vFYtZwvxNKzx058L+xLqULj aaPeGNxt1P7MWVOSp/nt7F9QXAREHXjaZyQ7SbCTV7LqRCNnfmgx5iZQg2Bz7zdImHgg dV0Q== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=o2CMbHogHViUebrkgPJSBYa78OJtFT8GYhJoGmYV7pI=; b=j2ARPJ0bP+uvHd2V6SCVSDtfNJEYpfSr9Cqo2TaQXjHw3alwLiCCiOyAfKtMMTfD0k 1MMqosH27lKH8G0nKoZlIJUdsDrRS+vhYsRkLoMjcSLOxC91/WkQCppeF4fg3fz4a1aY OUKeUvXKdL5+o2GKJMXpdbLqLTp/5z4s6SJIseABxNeIdpyQpwq6RU/cgkqE6BgLk55p x9BCB03Gs5TqYzl22xMm0dUfOV5IZTXKPBKoBhEyC3+q55CigQzU9YBjLbo0EjWc4rl1 JQFft85080Ko/0A+L0JtdLQZHgUWKMeZRVDyRZvZ/aAoyHnNFW/w+49WAmCyKnB47lqs Rx8g== X-Gm-Message-State: AGi0PuYoHJPhtstIptqozyy3ZPaSW3tgqwpTSVBPXnScfrUiGGYYgtOU kKqUVbtcKSpOPBv51ujDg3tktiEhBVRueA== X-Google-Smtp-Source: APiQypIGVqOEgAMEoZ9oFzoNS/AkwpEIRN4ie6MZuTeQ2vZsvoPyICj0eYMXbyWhKwvLeaV47mDw1Q== X-Received: by 2002:a17:90a:fd89:: with SMTP id cx9mr11683605pjb.64.1588793881038; Wed, 06 May 2020 12:38:01 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:38:00 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:40 -0700 Message-Id: <20200506193741.24117-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 6/7] app/proc-info: dump rx and tx descriptor 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" Many drivers will report per queue info for both rx and tx as well as how many descriptors are in use. Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 79 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 66 insertions(+), 13 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index bb0e0cbe9e6e..0b7ab1e78a9d 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -654,6 +654,25 @@ metrics_display(int port_id) rte_free(names); } +/* This could be replaced by an ethdev hook in future */ +static int +eth_tx_queue_available(uint16_t port_id, uint16_t queue_id, uint16_t n) +{ + uint16_t offset; + int count = 0; + + for (offset = 0; offset < n; offset++) { + int status; + + status = rte_eth_tx_descriptor_status(port_id, queue_id, offset); + if (status < 0) + return status; + if (status == RTE_ETH_TX_DESC_DONE) + ++count; + } + return count; +} + static void show_port(void) { @@ -667,7 +686,6 @@ show_port(void) uint16_t mtu = 0; struct rte_eth_link link; struct rte_eth_dev_info dev_info; - struct rte_eth_rxq_info queue_info; struct rte_eth_rss_conf rss_conf; struct rte_eth_fc_conf fc_conf; struct rte_ether_addr mac; @@ -739,6 +757,7 @@ show_port(void) ret = rte_eth_macaddr_get(i, &mac); if (ret == 0) { char ebuf[RTE_ETHER_ADDR_FMT_SIZE]; + rte_ether_format_addr(ebuf, sizeof(ebuf), &mac); printf("\t -- mac %s\n", ebuf); } @@ -750,20 +769,54 @@ show_port(void) if (ret == 0) printf("\t -- mtu (%d)\n", mtu); - printf(" - queue\n"); for (j = 0; j < dev_info.nb_rx_queues; j++) { + struct rte_eth_rxq_info queue_info; + int count; + ret = rte_eth_rx_queue_info_get(i, j, &queue_info); - if (ret == 0) { - printf("\t -- queue %d rx scatter %d" - " descriptors %d" - " offloads 0x%"PRIx64 - " mempool socket %d\n", - j, - queue_info.scattered_rx, - queue_info.nb_desc, - queue_info.conf.offloads, - queue_info.mp->socket_id); - } + if (ret != 0) + break; + + if (j == 0) + printf(" - rx queue\n"); + + printf("\t -- %d descriptors ", j); + count = rte_eth_rx_queue_count(i, j); + if (count >= 0) + printf("%d/", count); + printf("%d", queue_info.nb_desc); + + if (queue_info.scattered_rx) + printf(" scattered_rx"); + + printf(" offloads %#"PRIx64" socket %d\n", + queue_info.conf.offloads, + queue_info.mp->socket_id); + } + + for (j = 0; j < dev_info.nb_tx_queues; j++) { + struct rte_eth_txq_info queue_info; + int count; + + ret = rte_eth_tx_queue_info_get(i, j, &queue_info); + if (ret != 0) + break; + + if (j == 0) + printf(" - tx queue\n"); + + printf("\t -- %d descriptors ", j); + + count = eth_tx_queue_available(i, j, queue_info.nb_desc); + if (count >= 0) + printf("%d/", count); + printf("%d", queue_info.nb_desc); + + if (queue_info.conf.tx_deferred_start) + printf(" deferred_start"); + + printf(" offloads %#"PRIx64"\n", + queue_info.conf.offloads); } ret = rte_eth_dev_rss_hash_conf_get(i, &rss_conf); From patchwork Wed May 6 19:37:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69870 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CB8FAA034E; Wed, 6 May 2020 21:38:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C5F1E1DAD1; Wed, 6 May 2020 21:38:06 +0200 (CEST) Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by dpdk.org (Postfix) with ESMTP id D0DC91DABB for ; Wed, 6 May 2020 21:38:03 +0200 (CEST) Received: by mail-pl1-f193.google.com with SMTP id m7so947078plt.5 for ; Wed, 06 May 2020 12:38:03 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=4DEcSecz3LxiEsVZi9tNzqwyXGAz4WiJY8OcmqgadSQ=; b=xpgsUMPZ3y7DzKCV5HRA2PuWKxvkRafsnpbPkM0rVT9CMLPhuB2/QXeyF7z/FpIa22 InuOu9FhLJyhe3XZAUR0pu51kqGxW4MlkF2hwl8iB4GFdRcIXGYksOqqXkmmWNmyrqIO p1/MsMDpMmvSohQY5wtOrpaQFGg2UdZngcogHO/4rszojDD7pgpKIN5uXkvKeCdnhpw3 C1GlbcA/U7ep/kmkfLPQAc8Wum2x6T1g1NSaykmX/gIvCbAMocqLveAw5kx64eKeOqz5 6muRkz+A1Z1bT3JGJm28eMDqHE6p6gkOGCSW0cqAU/Mr5eUYlNl2kUt+c2cG6cSUQd6s wLuw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=4DEcSecz3LxiEsVZi9tNzqwyXGAz4WiJY8OcmqgadSQ=; b=o3KpoNE5oNGViX5etb5xXwG6smrzSVzysh4vrDaP2w7/9UWtxLn3WhK/Ruoa07h49x iQfAWxm3XFo7kmbfcc7tt7vUc9GN07FK535d23RrjAtAQT4spOhncfYD81QyVpMBLjTS QZF+SZO3TKOg3CVHf/dwbJhAJ4Jzvn9E3k83K7oNtGY8iRxCyC6b9ZJ9JxGFqi6prZ3M mQ61xHk8DCH1iYP9ZnevYCRs9yqKtr6xIZiC1j5h6BMsP8Ne9s6HLEf9a9yaxTnPqe4i 9S1Qtex9VC6EKPGgmqf1+c34oLu5XhEn90HcSZ2IDpkMaELdi7hIuhkup0krMxGUXKdQ pP4Q== X-Gm-Message-State: AGi0PuZJ7uVX1riTn9cK/zG0bH7DoSYfUNS02wQiKUNhOA9Alh6ZSkkd ytscH/u2FcGweD4K9wiDyu+A5fsppmRuBA== X-Google-Smtp-Source: APiQypKHdxjteTz0TUkTeysTcwW1V5dS+RwZZC+QLkuOdRToJQld2CIx/L4MKt5IwQA2vpVkLXaX4A== X-Received: by 2002:a17:902:a511:: with SMTP id s17mr9948396plq.33.1588793882435; Wed, 06 May 2020 12:38:02 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id j5sm1832971pjf.0.2020.05.06.12.38.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:38:01 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:37:41 -0700 Message-Id: <20200506193741.24117-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506193741.24117-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 7/7] app/proc-info: provide way to request info on owned ports 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" There are cases where a port maybe owned by another (failsafe, netvsc, bond); but currently proc-info has no way to look at stats of those ports. This patch provides way for the user to explictly ask for these ports. If no portmask is given the output is unchanged; it only shows the top level ports. If portmask requests a specific port it will be shown even if owned. The device owner is also a useful thing to show in port info. Signed-off-by: Stephen Hemminger --- app/proc-info/Makefile | 3 ++ app/proc-info/main.c | 74 ++++++++++++++++++++++++++++-------------- 2 files changed, 53 insertions(+), 24 deletions(-) diff --git a/app/proc-info/Makefile b/app/proc-info/Makefile index 214f3f54a1e9..f777e037861f 100644 --- a/app/proc-info/Makefile +++ b/app/proc-info/Makefile @@ -5,7 +5,10 @@ include $(RTE_SDK)/mk/rte.vars.mk APP = dpdk-procinfo +CFLAGS += -DALLOW_EXPERIMENTAL_API +CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +CFLAGS += -Wno-deprecated-declarations # all source are stored in SRCS-y diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 0b7ab1e78a9d..2e864519cca3 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -676,19 +677,26 @@ eth_tx_queue_available(uint16_t port_id, uint16_t queue_id, uint16_t n) static void show_port(void) { - uint16_t i = 0; - int ret = 0, j, k; + uint32_t port_mask = enabled_port_mask; + int i, ret, j, k; snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD "); STATS_BDR_STR(10, bdr_str); - RTE_ETH_FOREACH_DEV(i) { + for (port_mask = enabled_port_mask; port_mask != 0; + port_mask &= ~(1u << i)) { uint16_t mtu = 0; struct rte_eth_link link; struct rte_eth_dev_info dev_info; struct rte_eth_rss_conf rss_conf; struct rte_eth_fc_conf fc_conf; struct rte_ether_addr mac; + struct rte_eth_dev_owner owner; + + i = ffs(port_mask) - 1; + + if (!rte_eth_dev_is_valid_port(i)) + continue; memset(&rss_conf, 0, sizeof(rss_conf)); @@ -707,6 +715,11 @@ show_port(void) dev_info.driver_name, dev_info.device->name, rte_eth_dev_socket_id(i)); + ret = rte_eth_dev_owner_get(i, &owner); + if (ret == 0 && owner.id != RTE_ETH_DEV_NO_OWNER) + printf("\t -- owner %#"PRIx64":%s\n", + owner.id, owner.name); + ret = rte_eth_link_get(i, &link); if (ret < 0) { printf("Link get failed (port %u): %s\n", @@ -1342,6 +1355,7 @@ main(int argc, char **argv) char log_flag[] = "--log-level=6"; char *argp[argc + 4]; uint16_t nb_ports; + uint32_t port_mask; /* preparse app arguments */ ret = proc_info_preparse_args(argc, argv); @@ -1385,30 +1399,42 @@ main(int argc, char **argv) if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); - /* If no port mask was specified*/ - if (enabled_port_mask == 0) - enabled_port_mask = 0xffff; - - RTE_ETH_FOREACH_DEV(i) { - if (enabled_port_mask & (1 << i)) { - if (enable_stats) - nic_stats_display(i); - else if (enable_xstats) - nic_xstats_display(i); - else if (reset_stats) - nic_stats_clear(i); - else if (reset_xstats) - nic_xstats_clear(i); - else if (enable_xstats_name) - nic_xstats_by_name_display(i, xstats_name); - else if (nb_xstats_ids > 0) - nic_xstats_by_ids_display(i, xstats_ids, - nb_xstats_ids); - else if (enable_metrics) - metrics_display(i); + /* If no port mask was specified, one will be provided */ + if (enabled_port_mask == 0) { + RTE_ETH_FOREACH_DEV(i) { + enabled_port_mask |= 1u << i; } } + for (port_mask = enabled_port_mask; port_mask != 0; + port_mask &= ~(1u << i)) { + /* ffs() first bit is 1 not 0 */ + i = ffs(port_mask) - 1; + + if (i >= RTE_MAX_ETHPORTS) + break; + + if (!rte_eth_dev_is_valid_port(i)) + continue; + + if (enable_stats) + nic_stats_display(i); + else if (enable_xstats) + nic_xstats_display(i); + else if (reset_stats) + nic_stats_clear(i); + else if (reset_xstats) + nic_xstats_clear(i); + else if (enable_xstats_name) + nic_xstats_by_name_display(i, xstats_name); + else if (nb_xstats_ids > 0) + nic_xstats_by_ids_display(i, xstats_ids, + nb_xstats_ids); + else if (enable_metrics) + metrics_display(i); + + } + /* print port independent stats */ if (enable_metrics) metrics_display(RTE_METRICS_GLOBAL);