[Intel-wired-lan] [PATCH iwl-next v10 14/14] igc: add support to get frame preemption statistics via ethtool

Mor Bar-Gabay morx.bar.gabay at intel.com
Thu Mar 27 06:05:53 PDT 2025


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 at 0 1 at 1 1 at 2 1 at 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.gomes at intel.com>
> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes at intel.com>
> Co-developed-by: Chwee-Lin Choong <chwee.lin.choong at intel.com>
> Signed-off-by: Chwee-Lin Choong <chwee.lin.choong at intel.com>
> Reviewed-by: Vladimir Oltean <vladimir.oltean at nxp.com>
> Signed-off-by: Faizal Rahim <faizal.abdul.rahim at 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.gabay at intel.com>



More information about the linux-arm-kernel mailing list