> -----Original Message----- > From: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> > Sent: Friday, July 17, 2020 11:25 AM > To: Chi Song <Song.Chi@xxxxxxxxxxxxx> > Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang > <haiyangz@xxxxxxxxxxxxx>; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; > Wei Liu <wei.liu@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Jakub > Kicinski <kuba@xxxxxxxxxx>; Alexei Starovoitov <ast@xxxxxxxxxx>; Daniel > Borkmann <daniel@xxxxxxxxxxxxx>; Martin KaFai Lau <kafai@xxxxxx>; Song > Liu <songliubraving@xxxxxx>; Yonghong Song <yhs@xxxxxx>; Andrii Nakryiko > <andriin@xxxxxx>; John Fastabend <john.fastabend@xxxxxxxxx>; KP Singh > <kpsingh@xxxxxxxxxxxx>; linux-hyperv@xxxxxxxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx > Subject: Re: [PATCH net-next] net: hyperv: Add attributes to show RX/TX > indirection table > > On Fri, 17 Jul 2020 06:04:31 +0000 > Chi Song <Song.Chi@xxxxxxxxxxxxx> wrote: > > > The network is observed with low performance, if TX indirection table is > imbalance. > > But the table is in memory and set in runtime, it's hard to know. Add them to > attributes can help on troubleshooting. > > > The receive indirection table comes from RSS configuration. > The RSS configuration is already visible via ethtool so adding sysfs support for > that is redundant. > > The transmit indirection table comes from the host, and is unique to this driver. > So adding a sysfs file for that makes sense. > > The format of sysfs files is that in general there should be one value per file. > > One other possibility would be to make these as attributes under each queues. > But that is harder. The vmbus has per channel sysfs entries, but the channels are numbered by Rel_ID globally (not the subchannel index). Also the TX table is a many to one mapping from table index to channel index, ie. Multiple table entries map to one channel. So display the TX indirection table entries under each channel will requires additional steps to figure out the actual table contents. In sysfs, most files are short. But there are existing examples, such as " uevent" contains multiple values, even name and value pairs. We knew the ethtool can output the RX table. But for Azure telemetry tools, it prefers to access the info from sysfs. Also in some minimal installation, "ethtool" may not always be installed. It will be more reliable for Azure telemetry tools to have the data in sysfs as well. Thanks, - Haiyang