• Eran Ben Elisha's avatar
    net/mlx5e: Add tx timeout support for mlx5e tx reporter · 7d91126b
    Eran Ben Elisha authored
    With this patch, ndo_tx_timeout callback will be redirected to the tx
    reporter in order to detect a tx timeout error and report it to the
    devlink health. (The watchdog detects tx timeouts, but the driver verify
    the issue still exists before launching any recover method).
    
    In addition, recover from tx timeout in case of lost interrupt was added
    to the tx reporter recover method. The tx timeout recover from lost
    interrupt is not a new feature in the driver, this patch re-organize the
    functionality and move it to the tx reporter recovery flow.
    
    tx timeout example:
    (with auto_recover set to false, if set to true, the manual recover and
    diagnose sections are irrelevant)
    
    $cat /sys/kernel/debug/tracing/trace
    ...
    devlink_health_report: bus_name=pci dev_name=0000:00:09.0
    driver_name=mlx5_core reporter_name=tx: TX timeout on queue: 0, SQ: 0x8a,
    CQ: 0x35, SQ Cons: 0x2 SQ Prod: 0x2, usecs since last trans: 14912000
    
    $devlink health show
    pci/0000:00:09.0:
      name tx
        state healthy #err 1 #recover 0 last_dump_ts N/A
        parameters:
          grace_period 500 auto_recover false
    
    $devlink health diagnose pci/0000:00:09.0 reporter tx -j -p
    {
        "SQs": [ {
                "sqn": 138,
                "HW state": 1,
                "stopped": true
            },{
                "sqn": 142,
                "HW state": 1,
                "stopped": false
            } ]
    }
    
    $devlink health diagnose pci/0000:00:09.0 reporter tx
    SQs:
      sqn: 138 HW state: 1 stopped: true
      sqn: 142 HW state: 1 stopped: false
    
    $devlink health recover pci/0000:00:09 reporter tx
    $devlink health show
    pci/0000:00:09.0:
      name tx
        state healthy #err 1 #recover 1 last_dump_ts N/A
        parameters:
          grace_period 500 auto_recover false
    Signed-off-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
    Reviewed-by: default avatarMoshe Shemesh <moshe@mellanox.com>
    Acked-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7d91126b
reporter_tx.c 7.01 KB