From patchwork Wed May 6 19:57:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69877 X-Patchwork-Delegate: david.marchand@redhat.com 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 7E275A034E; Wed, 6 May 2020 21:58:16 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 58A581DAEF; Wed, 6 May 2020 21:58:11 +0200 (CEST) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by dpdk.org (Postfix) with ESMTP id 451251C211 for ; Wed, 6 May 2020 21:58:09 +0200 (CEST) Received: by mail-pl1-f195.google.com with SMTP id u22so983296plq.12 for ; Wed, 06 May 2020 12:58:09 -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=BHHRrLcKPcveSklwpTuHhjCWyWpcGp01eX5+WoNgYVEwpd28SNYXelmvw47lcXjl/R TuManqF9s6MFufktxyVnwF2hE4KO2Ynt2eDyNsRF2CxCGKxpv4G2+bpu2+4D1rOAmPWl 5KNUfLO211HPL3T7QXSoRcZYgnVphdWV/aOg46e86xnP3mSYeWldb5FpBJLWOq+Xo08C 8PPBIpr9EaHHMTDlbObO30SsK3oVx/cTWiU/0khdv5RaXRQqwsCGtsmqPWvUs0CM5oD8 9UFsF6RUdfqQPQ6/T2lXi41UtYVeQzdx6Y+4mzjv6+0z/QYXFnn5coWMl2kw8HTIBTWW TYFg== 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=Fwbv8kgVrRuaCy5SJAuE+OhuKjKnHld5eUrQLZf6XcqoEsASvl0FhMhf/G5VJeOTfa TtzpjlA+qmceu8qc46NXC5yRw8amClOuQcUI/+ZrplXhikx9ZqWYsfeZM0shf14zfYXz jHXuOxw845ULxgwqIWOd8USnfKymlGxCQqABNgDAPj+wKf6g27n3zyjIXT3ZM/J4SlQ+ y7Gl6+2vU2y6KsC9WW8KZjAgSxaEw44z3z4NhCsxmcTCHJa0ueg4RZtZQEmpZFwjHxc4 z3TG/ofVCFxb/pnnV4YIl/bLB0dqodOXELJTXd2bz3+6g0ujCu5VWd4MZ6VLbGLYm8oQ N0Xw== X-Gm-Message-State: AGi0PuZJ848H37iCHdnIoC1Ih0PmuhwC5HWh4CyKXY/LugR23DO9bkft mO7kQJZdHgKU7IobgZ1V+kuozbr1dbNmzg== X-Google-Smtp-Source: APiQypLJb+Iskt9bgAAFXW3e+IT/qbTNFMMyFWtC+PXiUfjamws8fRg7B29XZlMj1B/TtboG41kLAQ== X-Received: by 2002:a17:902:70c2:: with SMTP id l2mr9889618plt.112.1588795087921; Wed, 06 May 2020 12:58:07 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:06 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:52 -0700 Message-Id: <20200506195758.27057-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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:57:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69878 X-Patchwork-Delegate: david.marchand@redhat.com 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 5935EA034E; Wed, 6 May 2020 21:58:23 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7F42E1DB04; Wed, 6 May 2020 21:58:12 +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 BF4501DAED for ; Wed, 6 May 2020 21:58:10 +0200 (CEST) Received: by mail-pl1-f193.google.com with SMTP id x10so998679plr.4 for ; Wed, 06 May 2020 12:58:10 -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=jb4PMSEmZn9TfkxRvcCtFBW7xy4bRbn0750HiV0rVHmEjLVMv9oevKE98wPWjdxU4H 3U9Zp/TZ1YbArPHcb8j8OjRNBZfxtXv6VUc8jPKfUlBX+xgO0PqKosfGktBiLGlVAYGu wiNl92OEn+iiE1bnJyqhT+lHGv0f7zZJze4T1H6HjB+uAGeaPeVt0c7OeEXv60Rgn7P7 PEkXzq8iSpCq8qoNBK6b1TJiMCxoEVI9DuZY/6CQoEU6clKET7Eq+WFwMgnH67d5tWpl YouamDJZIpzKIkOymwTQ6CLl2O2t/4uelOrxbsRzvFH+dguqDrB0a/69vPqOM3WWdovY A/3g== 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=DPNs7Zsph52fl9g97iAdMxl2FQZyhogU1zIb1FAKLs2/RdaoPTBGPemiIBgaLbWiTm 1uyDVTIec8tK38AGdbPQcXP8vqG42hAA+QpIte7cpTxgqvCOQW/JIHEnMNGtP9g9LRuB 4pISBLO3f6AClJfSpJ6J9oe6l/RLyGrdW5DoKQI1XRy+0+R8tUjF23nfRUc+EQrtUkTr 323I7pF1zYZJ95k9byfU2r+1Ft0+QTsmzGqz58AOkcNrJKTYktBc7Z6fTOJ6Q0FCUWa0 sKOgk6fi/1lebHYQ5PXheS+mDAZYhlXl/dm4wnJjKqz1U6U0MkkEBCOUHSVdkLhP6xtR fQ9w== X-Gm-Message-State: AGi0PuZ5EsUxR6fe9koAktR0Sm1x4EDPMrF/x5DNwljrzTZhd5s4YoE1 ff+Msjtig+QmN3XX2OpPdn9B6OGNuvE8TQ== X-Google-Smtp-Source: APiQypIxqBoeCGbd2qpI/AhucQm+Z7ScHq6/IAC2p0fvzoMLXufGHe2sJGlgUzqNI6s4HphKZArdSA== X-Received: by 2002:a17:90a:1464:: with SMTP id j91mr10400047pja.87.1588795089363; Wed, 06 May 2020 12:58:09 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:08 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:53 -0700 Message-Id: <20200506195758.27057-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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:57:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69879 X-Patchwork-Delegate: david.marchand@redhat.com 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 82A05A034E; Wed, 6 May 2020 21:58:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B3CC01DB0F; Wed, 6 May 2020 21:58:14 +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 891441DB05 for ; Wed, 6 May 2020 21:58:12 +0200 (CEST) Received: by mail-pj1-f66.google.com with SMTP id e6so1439650pjt.4 for ; Wed, 06 May 2020 12:58:12 -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=SUa+lLBeAWUZ7Si6jt/Ngbnz1JOkXodkj5QKanAT1Wj+sJpJRVkMv8vvRdlxXJ5izk L3kzukseq5Wk/6rE3a4NCdl+NZyZcM/i4uNVbGHoNZDfmI6IbUut2DasP6bY5d/Nf8Dc oz1iMPU6F1Xq/ETFWmpZFlQpXOA4Hl6a8ZUazMDpS5mffNVijzSASivjJZJAgplSYEny id4BheZdJ6ninUx14vke7JBnk5mkrYCtI/fQYto16oNDVt5nVIChtinKjzrAiLn4iyMl LmyqXS5zB4BXkjINHaWW74+/3DzsSgQqWRy5LvJ3oBZF/bhPHWQSi/DQ2rXZN+hiLl9w acmg== 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=Rk6260862tevFiIg189h9yHnh9gBmc4pWERgFNyMvto6JUumbol+fVTt737pMlpmTg fjric+rCTodZSmaflYYy4CYEk45RyshxgmMc3VPEIOpKiC4mFAwL/r2N6mDKjWVPvOaT 2iZM9QvIGlGg854VHdF8WvZRcKzuRU50ryqlKrotmMUtNQTYZBQ6ArbD1jsB9dB69Y7P pg880zrot1uWO6Smog1B4qPsgO/En1PpDOaLi6bUmw7vJkMvqFdQhtnko5AeKz/uZeTO XbWFnANFeq3ZQcAJFZ9vssEIIA8+/2QDMp2pidaKOi4cjjvGoaWzE6XieYGKBHZfVcSX xo8w== X-Gm-Message-State: AGi0PuZSeTYfLddGBLF3Mu6MD/U+WuSEk7G4C6KUJyc6GuLyoYzLVNHr EO8t0IjGX9utDM7bTDW/HPw5F1DgKC+dzw== X-Google-Smtp-Source: APiQypLdNtw3HIIpfOmLh58kQY2zNJVJcXQRZfzHcGo2xVhE5K+O10bnJktk1nvCFNMaITpBGVXQXg== X-Received: by 2002:a17:902:cb91:: with SMTP id d17mr9778696ply.129.1588795091149; Wed, 06 May 2020 12:58:11 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:10 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:54 -0700 Message-Id: <20200506195758.27057-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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:57:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69880 X-Patchwork-Delegate: david.marchand@redhat.com 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 37128A034E; Wed, 6 May 2020 21:58:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 43E294C89; Wed, 6 May 2020 21:58:17 +0200 (CEST) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by dpdk.org (Postfix) with ESMTP id F32261DB0E for ; Wed, 6 May 2020 21:58:13 +0200 (CEST) Received: by mail-pl1-f194.google.com with SMTP id x10so998917plr.4 for ; Wed, 06 May 2020 12:58:13 -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=oPf5VYXapa6CSbMwpJA4tfBu5yeZTaBwbAPIyFQ83hk=; b=13zORekWQJrCyS/BKoLdMUNpAmwfxcy8h/VvLLsxuG/RV/qj5KKpkUUj4ofcf1I9yF s54zddLGVNa03I1A0TGY/Br/COwOyYip9Cg0PQkp2gF6uMEfa0qeK9g/snqwYyCAjOJe r6b8G7EyQqlbK1IP5arvSF9PJZdewX4YUPrI7hYBqmUMap55ExAABkv1sh6SM4afYy4C lLevPmjsKzTSEX3KjbBkDkq0iJXjntKHi+W+DZU4Tf8mv4ndK6AmuEQq+USQ2QoYrLW5 0C/Cj1vZe1OoIR9nFcVPA5BptS8j+JN8RyQBOc1bC6Pcq+3zxa74Hqhlm9dzED3PEy4V ECyA== 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=oPf5VYXapa6CSbMwpJA4tfBu5yeZTaBwbAPIyFQ83hk=; b=HY+LhWdfBctf4tzIB9i9iR4x+YlcFv+LvrGFpa33dFecu7Q9jmPR0Enw6q7Ur5n4pN z9j/0f2jM7hmQqhBimGhv1iRbsDCbTv1qddjWgrHhn3lLGKpGBqrSIercLLS/1Jhdk7a T5kIt1gqvoNWQmp91/TeXmbrtlEpx3iv3zrjIzcWWFJfl8ZiG553lg+erjDffd3GqxJK 9ViV9n5hCRnTJZG/tszcNGhiSm/yOY0ZohB2OUWwnrqNQoFQ9+QXDM/9BGcybQKp5IDm zhSCqDCy4dDfOop3liKdlELVplxmp+ZHLAn+dI8yns6xxBLKLRV8dInYHWPZQDw8R5vg wxjA== X-Gm-Message-State: AGi0Pubg+Fd2/YTf7lb1Iy91EHShk/ZyIQj1C+zpnqQdM4cVPyWIv9Au +VtO0/Xc88BrWfXF/tAqgECkynwJxgATNg== X-Google-Smtp-Source: APiQypLgu6vlllRpkAWGn5zlItMC++Z5Eh0Exzk0jB8rmpCGZ8Z4tmJ1MbbNxzjGfPp94f6rPYfghg== X-Received: by 2002:a17:902:dc86:: with SMTP id n6mr10242383pld.198.1588795092570; Wed, 06 May 2020 12:58:12 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:11 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:55 -0700 Message-Id: <20200506195758.27057-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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 Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- 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..c4f1f99e7d5d 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:57:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69881 X-Patchwork-Delegate: david.marchand@redhat.com 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 BFB15A034E; Wed, 6 May 2020 21:58:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 80B9B1D639; Wed, 6 May 2020 21:58:19 +0200 (CEST) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 826811DB13 for ; Wed, 6 May 2020 21:58:15 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id z1so1614457pfn.3 for ; Wed, 06 May 2020 12:58:15 -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=bCpX9ciufVpps0LSAuq13EHXzzYLJNe/o+jX46T9nQk=; b=mfdSG2v9AtBuaWPSw94Aeyc+ltwBXg84nqCtW1CTEbaHdQs9qDA5HCflNr0d8vUAlt QbMLoZyjuRxn6fcnMWQ/HMrac9W1hhUvdmzKOKc7IQ64uqH6ltYnGldxg6LzUGvHJXF1 R24O59oRuhtrXs1s1eEk0+qMhYVNjre0S0AO82acx22+aVjIZ9Q7AF8z7D8EZdpkTiZ5 raq2t8LSM0WlB7di70jibrVvQKcnx9hk3NBID9tsf4eV0qfY5tPg1oq+BlQwxPLQyXyr OQ09lWdapXaNgyfb3ZHpO20kFcPbDU2IEwe7Z0lNgRZSj+sQCbzoQRcB6cLnUZzTC+hZ gAbQ== 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=bCpX9ciufVpps0LSAuq13EHXzzYLJNe/o+jX46T9nQk=; b=p5U0KcxObt2jT4UNFIUhXUTnZjELQPsgEgQBI8TOswAYT7i7klM9h6uUFcKDGnppdb lHdzayefKSVfrAsfQMDo8j+hAt5eziWxb5rv6gFjXAwUyVthyXvqFW7H3UbLuXG+WP0m 1DC1D9azvRHgNuFyrQW0ZLIwe6ob/eP17saUnGdKXy8WzIfHE5+KPUzX+wfNCZwBDRUR V2efQ78Lx13LwdKn3aJxwxoj3iP6TSFaRsWVWC0fmuqL3E3sOMT3F0BWq8yiruUPFXqi t2tIJy3Wv4483Jy12ZEl6cOSNnuWv7fMHexLdIy5wSuIZ5IIYhLztPitwnw9oYy4tzFY FiTg== X-Gm-Message-State: AGi0PuZTQ4HlqPONQ8Aulgp+lJ34yGSvXj7/LrPJzUduFmLtQJ0cggHg g64LmV+VSNz/LRy+MDxrCfFF/G2cryDvEw== X-Google-Smtp-Source: APiQypIsHpXdhEyrOlD+4BKi9vmrALJN1WwfrFSVXyHc6nFprVr7AfYFJlgriTSJdQm/EuzYhoRFsg== X-Received: by 2002:a62:ae13:: with SMTP id q19mr10324780pff.310.1588795094116; Wed, 06 May 2020 12:58:14 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:13 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:56 -0700 Message-Id: <20200506195758.27057-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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 c4f1f99e7d5d..804c0fd63b3e 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:57:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69882 X-Patchwork-Delegate: david.marchand@redhat.com 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 84D78A034E; Wed, 6 May 2020 21:58:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EB9241DABF; Wed, 6 May 2020 21:58:20 +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 668491C139 for ; Wed, 6 May 2020 21:58:17 +0200 (CEST) Received: by mail-pf1-f195.google.com with SMTP id x15so1616334pfa.1 for ; Wed, 06 May 2020 12:58:17 -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=ADM+YFVYjHp1flPN/B5R03FdiM7inMB1bdW8e8R23Bg=; b=rYKMHHWS9SgKgPbmbyqbGJWmIgShV572jA9LrI1mIavM3jpjj1eeYiDL1aHU/Y74KG +H1Vt6l0WU2o2w2fg6ScdhqkbFsstpq/PHz3zRG0pqXa17CQSlg6I83gFtfAQcl7066O lNlf4qSCfz3wMZsQlVxD2uII4YTgasjfCPC0fT5vDol92Ms35/PGnxG6W3YcQeEFuMQZ 11djrbEImFAhRPF+wZ1Q4QNP7ugoFaXo8wl3wPYsCD4SuOCZ4XJZz8kXAW4i5w6z7YyH MXybZeiiUk1Fub3T5dcDt1gP+XUsh9vz6LGRyM9qgeFOtCKKXzxlz2MsiuVhIbtCJUhD JddQ== 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=ADM+YFVYjHp1flPN/B5R03FdiM7inMB1bdW8e8R23Bg=; b=bpUUdQQ6A/rTx0VYPBfLLuzz9BDUCeYNtftLg9RT4/k7XI16FhqvIEGy5AIUwM7rmU BFTUCpNGIJBSsX6Y2khK393OOJ0OKezdK82c6Zp3VBNHAbqyZ/GA4OgHH9ma/hIdZBKD 3wB2cI/fUXlRlumqH1aCUCVc559HLD66bdGaVgP0iRDU5lPkO7hfi0xeU6T9uF4UnNba pIrHS65naJNQgyFbsCCE6ycJ4nlwN7UEnWoXCm4mvIgiK7S08KPjpeqLn7QOUCIFTkdM CnP9Yqq6ZfSP1AQC6UPTWuc3iMKPe18GG6zvDfN0KuWmvvBgBZHQWdOeXm4ZH1/2fWjV oWUw== X-Gm-Message-State: AGi0PubjkMwlsOxnWzryfFWhIBJBu56yJBxxl4ZcJQk77N5stM+3sCzs A4NVqxaVMFivdTtgQ5+d8XxKDv8arMox8w== X-Google-Smtp-Source: APiQypJlOxBQucHrAsYy9IH/rF+rwBHEba1QUXbLej5t3pADqRjFQEZ5wFabRoRDuvxXnQnW+DM8hQ== X-Received: by 2002:a62:8001:: with SMTP id j1mr10219686pfd.202.1588795096035; Wed, 06 May 2020 12:58:16 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:15 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:57 -0700 Message-Id: <20200506195758.27057-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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 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 804c0fd63b3e..00e06c986e27 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:57:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69883 X-Patchwork-Delegate: david.marchand@redhat.com 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 144FFA034E; Wed, 6 May 2020 21:59:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E622B1DB28; Wed, 6 May 2020 21:58:22 +0200 (CEST) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by dpdk.org (Postfix) with ESMTP id E890A1C139 for ; Wed, 6 May 2020 21:58:18 +0200 (CEST) Received: by mail-pg1-f195.google.com with SMTP id b8so1301844pgi.11 for ; Wed, 06 May 2020 12:58:18 -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=qxe+EzPiQW2RnVv4y4fAIXpL6/fZATPmcIYSu2kTbaQ=; b=QFSNpVOV3qpC3IGNrgwEJaZhNW4e0ZEJYgD2Hj3CdPv4jp0sbXVt3a449ob3tTPB5O HMtZdKfRoKrQ6MS99oIZsxivPYeWPVpHyhmSbJDb7YpmRshOyVi6oQOMpbxZJI9m2LaO 9meq93YjfIEp1fAA25HemyT4DZlre95rPea+bXGt6ZGOv8Zl5iFHndbPymS4eti1vOHz l0M29zregzRHa9KVt0pXSCZxMb8jm4modwUNDdJaxomXO3ssOy8VtSkTPFSa5nYNrX4U N+FcZ9rFFvZCkWsAlJSpB3/a6OMYu3XOlJzfCyICvgmaZRgmFUEW2vAfPmZdnwvwKHgG uM+A== 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=qxe+EzPiQW2RnVv4y4fAIXpL6/fZATPmcIYSu2kTbaQ=; b=kp9yPlyN639k5oBsPq/yK8qPeQjfsUvxRzrP8w3YG1wgTaTgeju1SH8+yjkLIlajcF S0FP2vqy1v26M7cJfWHE9+9R4jQlNkDLZytvXj5CAyh6FppKMIpHdh+q4564aUGsZqp7 8viL0NkS8uvjda66hK+H1xZUJLuN4ITVYw1l96FZ6Dzg78mnFbwIzPCJkGmsvvrM/upI CaCxCu8ru6q74TnLZFe4JxoGtMple7AIC/KcHbnM9wuBcewYxAdXvuuAJqqih+nVxvnm V0gJfx05zn1TSCrAbFm4hy5QAdruGxLhEteaPHuvmv/hYdq12c8ocA0D347n3T30JgLP M1Mg== X-Gm-Message-State: AGi0PuZEvP1ex8Wia2gKUlho0Wq+FyGdf8tSjChcXHspK7AO0ucZvBlw SClLTtQYgPg/7nDyk9AaUSyh7drXwFOAMA== X-Google-Smtp-Source: APiQypJLMQFtlkAwy5E/hoYu0WckhGHhwiIxS20OD2Flz3d4sTv9jWkaYB7YIGoA8J93TsjpsvlAOQ== X-Received: by 2002:a62:a10c:: with SMTP id b12mr10504704pff.14.1588795097540; Wed, 06 May 2020 12:58:17 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id w1sm2126238pgh.53.2020.05.06.12.58.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 12:58:16 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maryam Tahhan , Reshma Pattan Date: Wed, 6 May 2020 12:57:58 -0700 Message-Id: <20200506195758.27057-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506195758.27057-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200506195758.27057-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 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 explicitly 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 00e06c986e27..e0b61b366312 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);