On Tue, 19 Jan 2021 11:14:51 +0800 Huazhong Tan wrote:
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@huawei.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:
- echo dump priority 0 > tm
- 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
...
I was thinking more like:
ID PRI LINK_VLD MODE DWRR 0 0 1 dwrr 0 1 0 0 sp 0 ...
but the exact format is up to you.
For example, user want to query qset 1, then all qset info will be output,
I hope you don't mean end user when you say _user_. This is debugfs, it's intended for developers to debug issues and system dump to gather info at customer site.
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
Thanks. Not that much info per entry, as expected. Single file should do nicely.