1. 14 12月, 2016 4 次提交
  2. 17 11月, 2016 2 次提交
  3. 30 10月, 2016 2 次提交
  4. 08 10月, 2016 15 次提交
  5. 24 9月, 2016 1 次提交
  6. 17 9月, 2016 2 次提交
  7. 03 9月, 2016 1 次提交
  8. 24 8月, 2016 1 次提交
  9. 18 8月, 2016 1 次提交
  10. 17 8月, 2016 1 次提交
  11. 03 8月, 2016 1 次提交
  12. 05 7月, 2016 1 次提交
  13. 24 6月, 2016 1 次提交
  14. 23 6月, 2016 7 次提交
    • M
      IB/mlx5: Add port protocol stats · 0ad17a8f
      Mark Bloch 提交于
      Expose new counters using the get protocol stats callback.
      We expose the following counters:
      
      |------------------------------------------------------------------------|
      |      Name           | IB | EN |           Description                  |
      |------------------------------------------------------------------------|
      |rx_write_requests    | +  | -  | Number of received WRITE requests for  |
      |                     |    |    | the associated QP.                     |
      |------------------------------------------------------------------------|
      |rx_read_requests     | +  | -  | Number of received READ requests for   |
      |                     |    |    | the associated QP.                     |
      |------------------------------------------------------------------------|
      |rx_atomic_requests   | +  | -  | Number of received ATOMIC requests for |
      |                     |    |    | the associated QP.                     |
      |------------------------------------------------------------------------|
      |out_of_buffer        | +  | +  | Number of drops occurred due to lack   |
      |                     |    |    | of WQE for the associated QPs/RQs.     |
      |------------------------------------------------------------------------|
      |out_of_sequence      | +  | -  | Number of errors in the packet         |
      |                     |    |    | transport sequence number              |
      |------------------------------------------------------------------------|
      |duplicate_request    | +  | +  | Number of received duplicated packets. |
      |                     |    |    | A request that previously executed is  |
      |                     |    |    | named duplicated.                      |
      |------------------------------------------------------------------------|
      |rnr_nak_retry_err    | +  | +  | Number of received RNR NAC packets.    |
      |                     |    |    | The QP retry limit did not exceed.     |
      |------------------------------------------------------------------------|
      |packet_seq_err       | +  | +  | Number of received NAK - sequence error|
      |                     |    |    | packets. The QP retry limit did not    |
      |                     |    |    | exceed.                                |
      |------------------------------------------------------------------------|
      |implied_nak_err      | +  | +  | Number of times the requester detected |
      |                     |    |    | an ACK with a PSN larger than expected |
      |                     |    |    | PSN for RDMA READ or ATOMIC response   |
      |                     |    |    | The QP retry limit did not exceed.     |
      |------------------------------------------------------------------------|
      |local_ack_timeout_err| +  | -  | Number of NO ACK responses from        |
      |                     |    |    | responder within timer interval.       |
      |                     |    |    | The QP retry limit did not exceed.     |
      |------------------------------------------------------------------------|
      
      Counters are available if all of them are supported.
      Signed-off-by: NMark Bloch <markb@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Reviewed-by: NChristoph Lameter <cl@linux.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      0ad17a8f
    • M
      IB/mlx5: Add per port counters · 0837e86a
      Mark Bloch 提交于
      In order to support statistics for ports, we attach
      each QP to a counter set which is dedicate to this port.
      Signed-off-by: NMark Bloch <markb@mellanox.com>
      Reviewed-by: NLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      0837e86a
    • B
      IB/mlx5: Report mlx5 TSO capabilities when querying device · 402ca536
      Bodong Wang 提交于
      Enable mlx5 based hardware to report TCP segmentation offload (TSO)
      capabilities from kernel to user space. A TSO enabled NIC will accept
      big chunks of data with sizes greater than MTU for TCP traffic.  The TSO
      engine will break the data into separate packets and will insert headers
      automatically.
      
      The capabilities are exposed to user space through query_device by uhw
      directly. The following capabilities are reported:
      
      1. The maximum payload size in bytes supported for segmentation by TSO
         engine.
      2. Bitmap showing which QP types are supported by TSO operation. The bitmap
         is built by members from 'enmu ib_qp_type'. For example, similar code
         should be performed if UD QP is supported:
      	supported_qpts |= 1 << IB_QPT_UD;
      
      To make user-space library aware of whether kernel supports uhw or not, a
      new flag: cmds_supp_uhw will be returned back to user-space through
      alloc_ucontext.
      Signed-off-by: NBodong Wang <bodong@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      402ca536
    • M
      IB/mlx5: Enable flow steering for IPv6 traffic · 026bae0c
      Maor Gottlieb 提交于
      Enable flow steering for IPv6 traffic by using an IPv6 spec.
      Signed-off-by: NMaor Gottlieb <maorg@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      026bae0c
    • M
      IB/mlx5: Reset flow support for IB kernel ULPs · 89ea94a7
      Maor Gottlieb 提交于
      The driver exposes interfaces that directly relate to HW state.
      Upon fatal error, consumers of these interfaces (ULPs) that rely
      on completion of all their posted work-request could hang, thereby
      introducing dependencies in shutdown order. To prevent this from
      happening, we manage the relevant resources (CQs, QPs) that are used
      by the device. Upon a fatal error, we now generate simulated
      completions for outstanding WQEs that were not completed at the
      time the HW was reset.
      
      It includes invoking the completion event handler for all involved
      CQs so that the ULPs will poll those CQs. When polled we return
      simulated CQEs with IB_WC_WR_FLUSH_ERR return code enabling ULPs
      to clean up their  resources and not wait forever for completions
      upon receiving remove_one.
      
      The above change requires an extra check in the data path to make
      sure that when device is in error state, the simulated CQEs will
      be returned and no further WQEs will be posted.
      Signed-off-by: NMaor Gottlieb <maorg@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      89ea94a7
    • M
      IB/mlx5: Implements disassociate_ucontext API · 7c2344c3
      Maor Gottlieb 提交于
      Implements the IB core disassociate_ucontext API.
      The driver detaches the HW resources for a given user context to
      prevent a dependency between application termination and device
      disconnect. This is done by managing the VMAs that were mapped
      to the HW bars such as doorbell and blueflame. When need to detach,
      remap them to an arbitrary kernel page returned by the zap API.
      Signed-off-by: NMaor Gottlieb <maorg@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      7c2344c3
    • Y
      IB/mlx5: Add Receive Work Queue Indirection table operations · c5f90929
      Yishai Hadas 提交于
      Some mlx5 based hardwares support a RQ table object. This RQ table
      points to a few RQ objects. We implement the receive work queue
      indirection table API (create and destroy) by using this hardware
      object.
      Signed-off-by: NYishai Hadas <yishaih@mellanox.com>
      Signed-off-by: NMatan Barak <matanb@mellanox.com>
      Reviewed-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      c5f90929