1. 23 Oct, 2010 1 commit
    • Steve Wise's avatar
      RDMA/cxgb3: When a user QP is marked in error, also mark the CQs in error · b955150e
      Steve Wise authored
      The flushing of work requests for user QPs is implemented entirely in
      the user mode library.  The only kernel interaction is to mark the
      user QP object indicating it is in error when the QP exits RTS.  When
      the user QP operations are called by the application (eg: post_send,
      post_recv), the QP in error bit is checked and if set, the library
      flushes the QP.  If, however, the application is not doing IO, but
      rather just polling the CQ, it will never get flushed work requests.
      This breaks some classes of applications.
      
      This patch adds logic to mark user CQs in error when a QP that is bound
      to the CQ is marked in error.  The library poll code can then notice
      the CQ is in error and flush all the in error QPs bound to that CQ.
      
      Design:
      
       - add 1 extra CQE entry to the CQ memory that will be used to indicate
         in error status.
       - return the desired CQ memory size that should be mapped by the library
       - bump the ABI since the create_cq uverbs response changes.
       - detect older libraries and reduce the mmap size accordingly.
         (The ABI bump doesn't break old libraries, since they didn't check
         the ABI field anyway)
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      b955150e
  2. 27 Sep, 2010 25 commits
  3. 26 Sep, 2010 4 commits
  4. 25 Sep, 2010 10 commits