1. 03 Jul, 2020 12 commits
    • Aya Levin's avatar
      net/mlx5e: Enhance TX timeout recovery · e6205564
      Aya Levin authored
      Upon a TX timeout handle, if the TX reporter was not able to recover
      from the error, reopen the channels. If tried to reopen channels, do not
      loop over TX queues for timeout.
      
      With that, the reporters state and separation will better
      expose the driver's state.
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      e6205564
    • Aya Levin's avatar
      net/mlx5e: Enhance ICOSQ data on RX reporter's diagnose · b8492112
      Aya Levin authored
      When the RQ is in striding RQ mode, it uses the ICOSQ as a helper queue.
      In this mode, RX reporter dumps more info about the ICOSQ and its
      related CQ.
      
      $ devlink health diagnose pci/0000:00:0b.0 reporter rx
      Common config:
          RQ:
            type: 2 stride size: 2048 size: 8
            CQ:
              stride size: 64 size: 1024
      RQs:
          channel ix: 0 rqn: 2413 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7
          CQ:
            cqn: 1032 HW status: 0 ci: 0 size: 1024
          EQ:
            eqn: 7 irqn: 42 vecidx: 1 ci: 93 size: 2048
          ICOSQ:
            sqn: 2411 HW state: 1 cc: 74 pc: 74 WQE size: 128
            CQ:
              cqn: 1029 cc: 8 size: 128
          channel ix: 1 rqn: 2418 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7
          CQ:
            cqn: 1036 HW status: 0 ci: 0 size: 1024
          EQ:
            eqn: 8 irqn: 43 vecidx: 2 ci: 2 size: 2048
          ICOSQ:
            sqn: 2416 HW state: 1 cc: 74 pc: 74 WQE size: 128
            CQ:
              cqn: 1033 cc: 8 size: 128
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      b8492112
    • Aya Levin's avatar
      net/mlx5e: Add EQ info to TX/RX reporter's diagnose · 56837c2a
      Aya Levin authored
      Enhance TX/RX reporter's diagnose to include info about the
      corresponding EQ.
      
      $ devlink health diagnose pci/0000:00:0b.0 reporter rx
      Common config:
          RQ:
            type: 2 stride size: 2048 size: 8
            CQ:
              stride size: 64 size: 1024
      RQs:
          channel ix: 0 rqn: 1713 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7 ICOSQ HW state: 1
           CQ:
             cqn: 1032 HW status: 0 ci: 0 size: 1024
           EQ:
             eqn: 7 irqn: 42 vecidx: 1 ci: 93 size: 2048
           channel ix: 1 rqn: 1718 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7 ICOSQ HW state: 1
           CQ:
             cqn: 1036 HW status: 0 ci: 0 size: 1024
           EQ:
             eqn: 8 irqn: 43 vecidx: 2 ci: 2 size: 2048
      
      $ devlink health diagnose pci/0000:00:0b.0 reporter tx
      Common Config:
          SQ:
            stride size: 64 size: 1024
            CQ:
              stride size: 64 size: 1024
      SQs:
         channel ix: 0 tc: 0 txq ix: 0 sqn: 1712 HW state: 1 stopped: false cc: 91 pc: 91
         CQ:
           cqn: 1030 HW status: 0 ci: 91 size: 1024
         EQ:
           eqn: 7 irqn: 42 vecidx: 1 ci: 93 size: 2048
         channel ix: 1 tc: 0 txq ix: 1 sqn: 1717 HW state: 1 stopped: false cc: 0 pc: 0
         CQ:
           cqn: 1034 HW status: 0 ci: 0 size: 1024
         EQ:
           eqn: 8 irqn: 43 vecidx: 2 ci: 2 size: 2048
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Reviewed-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      56837c2a
    • Aya Levin's avatar
      net/mlx5e: Enhance CQ data on diagnose output · 3c9d1699
      Aya Levin authored
      Add CQ's consumer index and size to the CQ's diagnose output retruved on
      RX/TX reporter diadgnose.
      
      $ devlink health diagnose pci/0000:00:0b.0 reporter rx
      Common config:
          RQ:
            type: 2 stride size: 2048 size: 8
            CQ:
              stride size: 64 size: 1024
      RQs:
          channel ix: 0 rqn: 2413 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7 ICOSQ HW state: 1
          CQ:
            cqn: 1032 HW status: 0 ci: 0 size: 1024
          channel ix: 1 rqn: 2418 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7 ICOSQ HW state: 1
          CQ:
            cqn: 1036 HW status: 0 ci: 0 size: 1024
      
      $ devlink health diagnose pci/0000:00:0b.0 reporter tx
      Common Config:
          SQ:
            stride size: 64 size: 1024
            CQ:
              stride size: 64 size: 1024
      SQs:
          channel ix: 0 tc: 0 txq ix: 0 sqn: 2412 HW state: 1 stopped: false cc: 0 pc: 0
          CQ:
            cqn: 1030 HW status: 0 ci: 0 size: 1024
          channel ix: 1 tc: 0 txq ix: 1 sqn: 2417 HW state: 1 stopped: false cc: 5 pc: 5
          CQ:
            cqn: 1034 HW status: 0 ci: 5 size: 1024
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      3c9d1699
    • Aya Levin's avatar
      net/mlx5e: Rename reporter's helpers · d5cbedd7
      Aya Levin authored
      Change prefix to match resident file:
      %s/mlx5e_reporter_cq_diagnose/mlx5e_health_cq_diag_fmsg
      %s/mlx5e_reporter_cq_common_diagnose/mlx5e_health_cq_common_diag_fmsg
      %s/mlx5e_reporter_named_obj_nest_start/mlx5e_health_fmsg_named_obj_nest_start
      %s/mlx5e_reporter_named_obj_nest_end/mlx5e_health_fmsg_named_obj_nest_end
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      d5cbedd7
    • Aya Levin's avatar
      net/mlx5e: Add helper to get the RQ WQE counter · de6c6ab7
      Aya Levin authored
      Add a helper which retrieves the RQ's WQE counter. Use this helper in
      the RX reporter diagnose callback.
      
      $ devlink health diagnose pci/0000:00:0b.0 reporter rx
      Common config:
        RQ:
           type: 2 stride size: 2048 size: 8
           CQ:
            stride size: 64 size: 1024
      RQs:
         channel ix: 0 rqn: 2113 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7 ICOSQ HW state: 1
         CQ:
          cqn: 1032 HW status: 0
         channel ix: 1 rqn: 2118 HW state: 1 SW state: 5 WQE counter: 7 posted WQEs: 7 cc: 7 ICOSQ HW state: 1
         CQ:
          cqn: 1036 HW status: 0
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      de6c6ab7
    • Aya Levin's avatar
      net/mlx5e: Add helper to get RQ WQE's head · fc42d0de
      Aya Levin authored
      Add helper which retrieves the RQ WQE's head. Use this helper in RX
      reporter diagnose callback.
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      fc42d0de
    • Aya Levin's avatar
      net/mlx5e: Move RQ helpers to txrx.h · 5d95c816
      Aya Levin authored
      Use txrx.h to contain helper function regarding TX/RX. In the coming
      patches, I will add more RQ helpers.
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      5d95c816
    • Aya Levin's avatar
      net/mlx5e: Align RX/TX reporters diagnose output format · 4537f524
      Aya Levin authored
      Change the hierarchy of the RX reporter 'Common config' in the diagnose
      output to match the 'Common config' of the TX reporter which reflects
      that CQ is a helper to the traffic queues.
      
      Before:
      $ devlink health diagnose pci/0000:00:0b.0 reporter rx
      Common config:
          RQ:
            type: 2 stride size: 2048 size: 8
          CQ:
            stride size: 64 size: 1024
          RQs:
          ...
      
      After:
      $ devlink health diagnose pci/0000:00:0b.0 reporter rx
      Common config:
          RQ:
            type: 2 stride size: 2048 size: 8
            CQ:
              stride size: 64 size: 1024
          RQs:
          ...
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      4537f524
    • Aya Levin's avatar
      net/mlx5e: Remove redundant RQ state query · b9961af7
      Aya Levin authored
      When received a CQE error, the driver inspect the syndrome given by the
      firmware. RQ recovery is initiated only as a result of a fatal syndrome;
      syndrome which set the RQ into an error state. Hence no need to query
      the RQ state at the beginning of the recovery process. Add additional
      debug prints before recovering.
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      b9961af7
    • Aya Levin's avatar
      net/mlx5e: Add a flush timeout define · e74e28ae
      Aya Levin authored
      During queue's recovery, driver waits for flush. The flush timeout is
      set to 2 seconds. Add a define for this value for the benefit of RX and
      TX reporters.
      Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      e74e28ae
    • Eran Ben Elisha's avatar
      net/mlx5e: Change reporters create functions to return void · b3ea4c4f
      Eran Ben Elisha authored
      Creation of devlink health reporters is not fatal for mlx5e instance load.
      In case of error in reporter's creation, the return value is ignored.
      Change all reporters creation functions to return void.
      
      In addition, with this change, a failure in creating a reporter, will not
      prevent the driver from trying to create the next reporter in the list.
      Signed-off-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
      Reviewed-by: default avatarAya Levin <ayal@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      b3ea4c4f
  2. 02 Jul, 2020 28 commits