RE: [PATCH net-next] net: hyperv: Add attributes to show RX/TX indirection table
From: Haiyang Zhang <haiyangz@microsoft.com>
Date: 2020-07-17 16:18:17
Also in:
linux-hyperv
-----Original Message----- From: Stephen Hemminger <stephen@networkplumber.org> Sent: Friday, July 17, 2020 11:25 AM To: Chi Song <redacted> Cc: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang [off-list ref]; Stephen Hemminger [off-list ref]; Wei Liu [off-list ref]; David S. Miller [off-list ref]; Jakub Kicinski [off-list ref]; Alexei Starovoitov [off-list ref]; Daniel Borkmann [off-list ref]; Martin KaFai Lau [off-list ref]; Song Liu [off-list ref]; Yonghong Song [off-list ref]; Andrii Nakryiko [off-list ref]; John Fastabend [off-list ref]; KP Singh [off-list ref]; linux-hyperv@vger.kernel.org; netdev@vger.kernel.org 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 [off-list ref] wrote:quoted
The network is observed with low performance, if TX indirection table isimbalance.quoted
But the table is in memory and set in runtime, it's hard to know. Add them toattributes 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