1. 29 6月, 2019 1 次提交
    • K
      IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full · 5136bfea
      Kamenee Arumugam 提交于
      When a completion queue is full, the associated queue pairs are not put
      into the error state. According to the IBTA specification, this is a
      violation.
      
      Quote from IBTA spec:
      C9-218: A Requester Class F error occurs when the CQ is inaccessible or
      full and an attempt is made to complete a WQE.  The Affected QP shall be
      moved to the error state and affiliated asynchronous errors generated as
      described in 11.6.3.1 Affiliated Asynchronous Events on page 678. The
      current WQE and any subsequent WQEs are left in an unknown state.
      
      C11-37: The CI shall generate a CQ Error when a CQ overrun is
      detected. This condition will result in an Affiliated Asynchronous Error
      for any associated Work Queues when they attempt to use that
      CQ. Completions can no longer be added to the CQ. It is not guaranteed
      that completions present in the CQ at the time the error occurred can be
      retrieved. Possible causes include a CQ overrun or a CQ protection error.
      
      Put the qp in error state when cq is full. Implement a state called full
      to continue to put other associated QPs in error state.
      Reviewed-by: NMike Marciniszyn <mike.marciniszyn@intel.com>
      Reviewed-by: NMichael J. Ruhl <michael.j.ruhl@intel.com>
      Signed-off-by: NKamenee Arumugam <kamenee.arumugam@intel.com>
      Signed-off-by: NDennis Dalessandro <dennis.dalessandro@intel.com>
      Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
      5136bfea
  2. 01 2月, 2019 1 次提交
  3. 07 12月, 2018 1 次提交
  4. 04 10月, 2018 2 次提交
  5. 27 6月, 2018 1 次提交
  6. 10 5月, 2018 1 次提交
  7. 02 2月, 2018 2 次提交
  8. 06 12月, 2017 1 次提交
    • P
      drivers/infiniband: Remove now-redundant smp_read_barrier_depends() · adf90eb4
      Paul E. McKenney 提交于
      The smp_read_barrier_depends() does nothing at all except on DEC Alpha,
      and no current DEC Alpha systems use Infiniband:
      
      	lkml.kernel.org/r/20171023085921.jwbntptn6ictbnvj@tower
      
      This commit therefore makes Infiniband depend on !ALPHA and removes
      the now-ineffective invocations of smp_read_barrier_depends() from
      the InfiniBand driver.
      
      Please note that this patch should not be construed as my saying that
      InfiniBand's memory ordering is correct, but rather that this patch does
      not in any way affect InfiniBand's correctness.  In other words, the
      result of applying this patch is bug-for-bug compatible with the original.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Doug Ledford <dledford@redhat.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michael Cree <mcree@orcon.net.nz>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: <linux-rdma@vger.kernel.org>
      Cc: <linux-alpha@vger.kernel.org>
      [ paulmck: Removed drivers/dma/ioat/dma.c per Jason Gunthorpe's feedback. ]
      Acked-by: NJason Gunthorpe <jgg@mellanox.com>
      adf90eb4
  9. 14 11月, 2017 1 次提交
  10. 25 10月, 2017 1 次提交
    • M
      locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns... · 6aa7de05
      Mark Rutland 提交于
      locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE()
      
      Please do not apply this to mainline directly, instead please re-run the
      coccinelle script shown below and apply its output.
      
      For several reasons, it is desirable to use {READ,WRITE}_ONCE() in
      preference to ACCESS_ONCE(), and new code is expected to use one of the
      former. So far, there's been no reason to change most existing uses of
      ACCESS_ONCE(), as these aren't harmful, and changing them results in
      churn.
      
      However, for some features, the read/write distinction is critical to
      correct operation. To distinguish these cases, separate read/write
      accessors must be used. This patch migrates (most) remaining
      ACCESS_ONCE() instances to {READ,WRITE}_ONCE(), using the following
      coccinelle script:
      
      ----
      // Convert trivial ACCESS_ONCE() uses to equivalent READ_ONCE() and
      // WRITE_ONCE()
      
      // $ make coccicheck COCCI=/home/mark/once.cocci SPFLAGS="--include-headers" MODE=patch
      
      virtual patch
      
      @ depends on patch @
      expression E1, E2;
      @@
      
      - ACCESS_ONCE(E1) = E2
      + WRITE_ONCE(E1, E2)
      
      @ depends on patch @
      expression E;
      @@
      
      - ACCESS_ONCE(E)
      + READ_ONCE(E)
      ----
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: davem@davemloft.net
      Cc: linux-arch@vger.kernel.org
      Cc: mpe@ellerman.id.au
      Cc: shuah@kernel.org
      Cc: snitzer@redhat.com
      Cc: thor.thayer@linux.intel.com
      Cc: tj@kernel.org
      Cc: viro@zeniv.linux.org.uk
      Cc: will.deacon@arm.com
      Link: http://lkml.kernel.org/r/1508792849-3115-19-git-send-email-paulmck@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6aa7de05
  11. 18 10月, 2017 1 次提交
  12. 23 8月, 2017 3 次提交
  13. 28 6月, 2017 2 次提交
  14. 02 5月, 2017 1 次提交
  15. 29 4月, 2017 1 次提交
  16. 19 2月, 2017 3 次提交
  17. 12 12月, 2016 2 次提交
  18. 02 10月, 2016 2 次提交
  19. 03 8月, 2016 3 次提交
  20. 26 5月, 2016 1 次提交
  21. 11 3月, 2016 9 次提交