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>

Reply via email to