1. 30 Nov, 2018 13 commits
  2. 26 Nov, 2018 11 commits
  3. 20 Nov, 2018 12 commits
  4. 12 Nov, 2018 4 commits
    • Moni Shoua's avatar
      IB/mlx5: Improve ODP debugging messages · b02394aa
      Moni Shoua authored
      Add and modify debug messages to ODP related error flows.
      In that context, return code EAGAIN is considered less severe and print
      level for it is set debug instead of warn.
      Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      b02394aa
    • Moni Shoua's avatar
      net/mlx5: Use multi threaded workqueue for page fault handling · 90290db7
      Moni Shoua authored
      Page fault events are processed in a workqueue context. Since each QP
      can have up to two concurrent unrelated page-faults, one for requester
      and one for responder, page-fault handling can be done in parallel.
      Achieve this by changing the workqueue to be multi-threaded.
      The number of threads is the same as the number of command interface
      channels to avoid command interface bottlenecks.
      
      In addition to multi-threads, change the workqueue flags to give it high
      priority.
      
      Stress benchmark shows that before this change 85% of page faults were
      waiting in queue 8 seconds or more while after the change 98% of page
      faults were waiting in queue 64 milliseconds or less. The number of threads
      was chosen as the number of channels to the command interface.
      
      Fixes: d9aaed83 ("{net,IB}/mlx5: Refactor page fault handling")
      Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      90290db7
    • Moni Shoua's avatar
      net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state · ef90c5e9
      Moni Shoua authored
      When the device is in internal error state, command interface isn't
      accessible and the driver decides which commands to fail and which to
      pass.
      Move the PAGE_FAULT_RESUME command to the pass list in order to avoid
      redundant failure messages.
      
      Fixes: 89d44f0a ("net/mlx5_core: Add pci error handlers to mlx5_core driver")
      Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      ef90c5e9
    • Moni Shoua's avatar
      IB/mlx5: Lock QP during page fault handling · 032080ab
      Moni Shoua authored
      When page fault event for a WQE arrives, the event data contains the
      resource (e.g. QP) number which will later be used by the page fault
      handler to retrieve the resource. Meanwhile, another context can destroy
      the resource and cause use-after-free. To avoid that, take a reference on the
      resource when handler starts and release it when it ends.
      
      Page fault events for RDMA operations don't need to be protected because
      the driver doesn't need to access the QP in the page fault handler.
      
      Fixes: d9aaed83 ("{net,IB}/mlx5: Refactor page fault handling")
      Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      032080ab