lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 19 Jan 2021 11:14:51 +0800
From:   Huazhong Tan <tanhuazhong@...wei.com>
To:     Jakub Kicinski <kuba@...nel.org>
CC:     <davem@...emloft.net>, <netdev@...r.kernel.org>,
        <salil.mehta@...wei.com>, <yisen.zhuang@...wei.com>,
        <huangdaode@...wei.com>, <linuxarm@...neuler.org>,
        Guangbin Huang <huangguangbin2@...wei.com>
Subject: Re: [PATCH net-next] net: hns3: debugfs add dump tm info of nodes,
 priority and qset


On 2021/1/19 3:48, Jakub Kicinski wrote:
> On Mon, 18 Jan 2021 19:20:23 +0800 Huazhong Tan wrote:
>> On 2021/1/17 10:23, Jakub Kicinski wrote:
>>> On Fri, 15 Jan 2021 15:09:29 +0800 Huazhong Tan wrote:
>>>> From: Guangbin Huang <huangguangbin2@...wei.com>
>>>>
>>>> To increase methods to dump more tm info, adds three debugfs commands
>>>> to dump tm info of nodes, priority and qset. And a new tm file of debugfs
>>>> is created for only dumping tm info.
>>>>
>>>> Unlike previous debugfs commands, to dump each tm information, user needs
>>>> to enter two commands now. The first command writes parameters to tm and
>>>> the second command reads info from tm. For examples, to dump tm info of
>>>> priority 0, user needs to enter follow two commands:
>>>> 1. echo dump priority 0 > tm
>>>> 2. cat tm
>>>>
>>>> The reason for adding new tm file is because we accepted Jakub Kicinski's
>>>> opinion as link https://lkml.org/lkml/2020/9/29/2101. And in order to
>>>> avoid generating too many files, we implement write ops to allow user to
>>>> input parameters.
>>> Why are you trying to avoid generating too many files? How many files
>>> would it be? What's the size of each dump/file?
>> The maximum number of tm node, priority and qset are 8, 256,
>> 1280, if we create a file for each one, then there are 8 node
>> files, 256 priority files, 1280 qset files. It seems a little
>> bit hard for using as well.
> Would the information not fit in one file per type with multiple rows?


What you means is as below ?

estuary:/debugfs/hns3/0000:7d:00.0$ cat qset

qset id: 0
QS map pri id: 0
QS map link_vld: 1
QS schedule mode: dwrr
QS dwrr: 100

qset id: 1
QS map pri id: 0
QS map link_vld: 0
QS schedule mode: sp
QS dwrr: 0

...

For example, user want to query qset 1, then all qset info will be output,

there are too many useless info.

So we add an interface to designage the specified id for node, priority 
or qset.


> Can you show example outputs?


here is the output of this patch.

estuary:/debugfs/hns3/0000:7d:00.0$ echo dump qset 0 > tm
estuary:/debugfs/hns3/0000:7d:00.0$ cat tm
qset id: 0
QS map pri id: 0
QS map link_vld: 1
QS schedule mode: dwrr
QS dwrr: 100
estuary:/debugfs/hns3/0000:7d:00.0$ echo dump qset 1 > tm
estuary:/debugfs/hns3/0000:7d:00.0$ cat tm
qset id: 1
QS map pri id: 0
QS map link_vld: 0
QS schedule mode: sp
QS dwrr: 0
estuary:/debugfs/hns3/0000:7d:00.0$ echo dump priority 0 > tm
estuary:/debugfs/hns3/0000:7d:00.0$ cat tm
priority id: 0
PRI schedule mode: dwrr
PRI dwrr: 100
PRI_C ir_b:0 ir_u:0 ir_s:0 bs_b:5 bs_s:20
PRI_C flag: 0x0
PRI_C pri_rate: 0(Mbps)
PRI_P ir_b:150 ir_u:7 ir_s:0 bs_b:5 bs_s:20
PRI_P flag: 0x0
PRI_P pri_rate: 100000(Mbps)
estuary:/debugfs/hns3/0000:7d:00.0$
estuary:/debugfs/hns3/0000:7d:00.0$ echo dump priority 1 > tm
estuary:/debugfs/hns3/0000:7d:00.0$ cat tm
priority id: 1
PRI schedule mode: sp
PRI dwrr: 0
PRI_C ir_b:0 ir_u:0 ir_s:0 bs_b:0 bs_s:0
PRI_C flag: 0x0
PRI_C pri_rate: 0(Mbps)
PRI_P ir_b:0 ir_u:0 ir_s:0 bs_b:0 bs_s:0
PRI_P flag: 0x0
PRI_P pri_rate: 0(Mbps)


>
> For example if I'm reading right the Qset only has 5 attributes:
>
> "qset id: %u\n"		qset_id
> "QS map pri id: %u\n"		map->priority
> "QS map link_vld: %u\n"	map->link_vld);
> "QS schedule mode: %s\n"	(qs_sch_mode->sch_mode & HCLGE_TM_TX_SCHD_DWRR_MSK) ?
> 				 "dwrr" : "sp");
> "QS dwrr: %u\n"		qs_weight->dwrr
>
> .

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ