From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id C73A4A0543;
	Mon, 13 Jun 2022 14:51:39 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 6922D40150;
	Mon, 13 Jun 2022 14:51:39 +0200 (CEST)
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187])
 by mails.dpdk.org (Postfix) with ESMTP id E28FF400EF
 for <dev@dpdk.org>; Mon, 13 Jun 2022 14:51:36 +0200 (CEST)
Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.53])
 by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LMBHp6NjdzjXc6;
 Mon, 13 Jun 2022 20:50:30 +0800 (CST)
Received: from [10.67.103.235] (10.67.103.235) by
 kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.24; Mon, 13 Jun 2022 20:51:33 +0800
Subject: Re: [PATCH v4] app/procinfo: add device private info dump
To: <dev@dpdk.org>, <ferruh.yigit@amd.com>, Maryam Tahhan
 <maryam.tahhan@intel.com>, Ferruh Yigit <ferruh.yigit@xilinx.com>
References: <20220602062216.25372-1-humin29@huawei.com>
 <20220606143932.12772-1-liudongdong3@huawei.com>
 <d5d02c91-efd6-7abf-8bf5-f39fb70e4a2c@huawei.com>
From: Dongdong Liu <liudongdong3@huawei.com>
Message-ID: <413db1f0-40c1-e99f-2817-bbd901ca3107@huawei.com>
Date: Mon, 13 Jun 2022 20:51:33 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101
 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <d5d02c91-efd6-7abf-8bf5-f39fb70e4a2c@huawei.com>
Content-Type: text/plain; charset="windows-1252"; format=flowed
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.67.103.235]
X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To
 kwepemi500017.china.huawei.com (7.221.188.110)
X-CFilter-Loop: Reflected
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

+cc Ferruh (ferruh.yigit@xilinx.com).

It seems this email could not be delivered to maryam.tahhan@intel.com.

Thanks,
Dongdong
On 2022/6/13 20:45, Dongdong Liu wrote:
> Hi Maryam, ferruh
>
> kind ping...
>
> If there are no other comments, could you help to
> apply this patch.
>
> Thanks,
> Dongdong
> On 2022/6/6 22:39, Dongdong Liu wrote:
>> From: "Min Hu (Connor)" <humin29@huawei.com>
>>
>> This patch adds support for dump the device private info from a running
>> application. It can help developers locate the problem.
>>
>> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
>> Acked-by: Reshma Pattan <reshma.pattan@intel.com>
>> ---
>> v3->v4:
>> - add Acked-by Reshma.
>>
>> v2->v3:
>> - fix wrong spelling.
>>
>> v1->v2:
>> - fix way of handling ports.
>> ---
>>  app/proc-info/main.c | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/app/proc-info/main.c b/app/proc-info/main.c
>> index 56070a3317..1d350291b9 100644
>> --- a/app/proc-info/main.c
>> +++ b/app/proc-info/main.c
>> @@ -84,6 +84,8 @@ static char bdr_str[MAX_STRING_LEN];
>>
>>  /**< Enable show port. */
>>  static uint32_t enable_shw_port;
>> +/**< Enable show port private info. */
>> +static uint32_t enable_shw_port_priv;
>>  /**< Enable show tm. */
>>  static uint32_t enable_shw_tm;
>>  /**< Enable show crypto. */
>> @@ -123,6 +125,7 @@ proc_info_usage(const char *prgname)
>>          "  --collectd-format: to print statistics to STDOUT in
>> expected by collectd format\n"
>>          "  --host-id STRING: host id used to identify the system
>> process is running on\n"
>>          "  --show-port: to display ports information\n"
>> +        "  --show-port-private: to display ports private information\n"
>>          "  --show-tm: to display traffic manager information for
>> ports\n"
>>          "  --show-crypto: to display crypto information\n"
>>          "  --show-ring[=name]: to display ring information\n"
>> @@ -232,6 +235,7 @@ proc_info_parse_args(int argc, char **argv)
>>          {"xstats-ids", 1, NULL, 1},
>>          {"host-id", 0, NULL, 0},
>>          {"show-port", 0, NULL, 0},
>> +        {"show-port-private", 0, NULL, 0},
>>          {"show-tm", 0, NULL, 0},
>>          {"show-crypto", 0, NULL, 0},
>>          {"show-ring", optional_argument, NULL, 0},
>> @@ -284,6 +288,9 @@ proc_info_parse_args(int argc, char **argv)
>>              else if (!strncmp(long_option[option_index].name,
>>                      "show-port", MAX_LONG_OPT_SZ))
>>                  enable_shw_port = 1;
>> +            else if (!strncmp(long_option[option_index].name,
>> +                    "show-port-private", MAX_LONG_OPT_SZ))
>> +                enable_shw_port_priv = 1;
>>              else if (!strncmp(long_option[option_index].name,
>>                      "show-tm", MAX_LONG_OPT_SZ))
>>                  enable_shw_tm = 1;
>> @@ -887,6 +894,25 @@ show_port(void)
>>      }
>>  }
>>
>> +static void
>> +show_port_private_info(void)
>> +{
>> +    int i;
>> +
>> +    snprintf(bdr_str, MAX_STRING_LEN, " Dump - Ports private
>> information");
>> +    STATS_BDR_STR(10, bdr_str);
>> +
>> +    RTE_ETH_FOREACH_DEV(i) {
>> +        /* Skip if port is not in mask */
>> +        if ((enabled_port_mask & (1ul << i)) == 0)
>> +            continue;
>> +
>> +        snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", i);
>> +        STATS_BDR_STR(5, bdr_str);
>> +        rte_eth_dev_priv_dump(i, stdout);
>> +    }
>> +}
>> +
>>  static void
>>  display_nodecap_info(int is_leaf, struct rte_tm_node_capabilities *cap)
>>  {
>> @@ -1549,6 +1575,8 @@ main(int argc, char **argv)
>>      /* show information for PMD */
>>      if (enable_shw_port)
>>          show_port();
>> +    if (enable_shw_port_priv)
>> +        show_port_private_info();
>>      if (enable_shw_tm)
>>          show_tm();
>>      if (enable_shw_crypto)
>>
> .
>