On 18/03/2025 5:07, Faizal Rahim wrote:
Implemented "ethtool --include-statistics --show-mm" callback for IGC.
Tested preemption scenario to check preemption statistics:
1) Trigger verification handshake on both boards:
$ sudo ethtool --set-mm enp1s0 pmac-enabled on
$ sudo ethtool --set-mm enp1s0 tx-enabled on
$ sudo ethtool --set-mm enp1s0 verify-enabled on
2) Set preemptible or express queue in taprio for tx board:
$ sudo tc qdisc replace dev enp1s0 parent root handle 100 taprio \
num_tc 4 map 3 2 1 0 3 3 3 3 3 3 3 3 3 3 3 3 \
queues 1@0 1@1 1@2 1@3 base-time 0 sched-entry S F 100000 \
fp E E P P
3) Send large size packets on preemptible queue
4) Send small size packets on express queue to preempt packets in
preemptible queue
5) Show preemption statistics on the receiving board:
$ ethtool --include-statistics --show-mm enp1s0
MAC Merge layer state for enp1s0:
pMAC enabled: on
TX enabled: on
TX active: on
TX minimum fragment size: 64
RX minimum fragment size: 60
Verify enabled: on
Verify time: 128
Max verify time: 128
Verification status: SUCCEEDED
Statistics:
MACMergeFrameAssErrorCount: 0
MACMergeFrameSmdErrorCount: 0
MACMergeFrameAssOkCount: 511
MACMergeFragCountRx: 764
MACMergeFragCountTx: 0
MACMergeHoldCount: 0
Co-developed-by: Vinicius Costa Gomes <vinicius.go...@intel.com>
Signed-off-by: Vinicius Costa Gomes <vinicius.go...@intel.com>
Co-developed-by: Chwee-Lin Choong <chwee.lin.cho...@intel.com>
Signed-off-by: Chwee-Lin Choong <chwee.lin.cho...@intel.com>
Reviewed-by: Vladimir Oltean <vladimir.olt...@nxp.com>
Signed-off-by: Faizal Rahim <faizal.abdul.ra...@linux.intel.com>
---
drivers/net/ethernet/intel/igc/igc_ethtool.c | 40 ++++++++++++++++++++
drivers/net/ethernet/intel/igc/igc_regs.h | 16 ++++++++
2 files changed, 56 insertions(+)
Tested-by: Mor Bar-Gabay <morx.bar.ga...@intel.com>