Vijayakannan Ayyathurai says:
====================
net: stmmac: Add ethtool per-queue statistic
Adding generic ethtool per-queue statistic framework to display the
statistics for each rx/tx queue. In future, users can avail it to add
more per-queue specific counters. Number of rx/tx queues displayed is
depending on the available rx/tx queues in that particular MAC config
and this number is limited up to the MTL_MAX_{RX|TX}_QUEUES defined
in the driver.
Ethtool per-queue statistic display will look like below, when users
start adding more counters.
Example - 1:
q0_tx_statA:
q0_tx_statB:
q0_tx_statC:
|
q0_tx_statX:
.
.
.
qMAX_tx_statA:
qMAX_tx_statB:
qMAX_tx_statC:
|
qMAX_tx_statX:
q0_rx_statA:
q0_rx_statB:
q0_rx_statC:
|
q0_rx_statX:
.
.
.
qMAX_rx_statA:
qMAX_rx_statB:
qMAX_rx_statC:
|
qMAX_rx_statX:
Example - 2: Ping test using the tx queue 3.
$ tc qdisc add dev enp0s30f4 root mqprio num_tc 2 map 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 queues 3@0 1@3 hw 0
Statistic before ping:
---------------------
$ ethtool -S enp0s30f4
[ snip ]
q3_tx_pkt_n: 7916
q3_tx_irq_n: 316
[ snip ]
$ cat /proc/interrupts
[ snip ]
143: 0 0 0 316 0 0
0 0 IR-PCI-MSI 499719-edge enp0s30f4:tx-3
[ snip ]
$ ping -I enp0s30f4 192.168.1.10 -i 0.01 -c 100 > /dev/null
Statistic after ping:
---------------------
$ ethtool -S enp0s30f4
[ snip ]
q3_tx_pkt_n: 8016
q3_tx_irq_n: 320
[ snip ]
$ cat /proc/interrupts
[ snip ]
143: 0 0 0 320 0 0
0 0 IR-PCI-MSI 499719-edge enp0s30f4:tx-3
[ snip ]
====================
Signed-off-by: David S. Miller <davem@davemloft.net>