Skip to content
Snippets Groups Projects
  1. Feb 24, 2010
    • Steve Wise's avatar
      RDMA/cxgb3: Doorbell overflow avoidance and recovery · e998f245
      Steve Wise authored
      
      T3 hardware doorbell FIFO overflows can cause application stalls due
      to lost doorbell ring events.  This has been seen when running large
      NP IMB alltoall MPI jobs.  The T3 hardware supports an xon/xoff-type
      flow control mechanism to help avoid overflowing the HW doorbell FIFO.
      
      This patch uses these interrupts to disable RDMA QP doorbell rings
      when we near an overflow condition, and then turn them back on (and
      ring all the active QP doorbells) when when the doorbell FIFO empties
      out.  In addition if an doorbell ring is dropped by the hardware, the
      code will now recover.
      
      Design:
      
      cxgb3:
      - enable these DB interrupts
      - in the interrupt handler, schedule work tasks to call the ULPs event
        handlers with the new events.
      - ring all the qset txqs when an overflow is detected.
      
      iw_cxgb3:
      - disable db ringing on all active qps when we get the DB_FULL event
      - enable db ringing on all active qps and ring all active dbs when we get
        the DB_EMPTY event
      - On DB_DROP event:
             - disable db rings in the event handler
             - delay-schedule a work task which rings and enables the dbs on
               all active qps.
      - in post_send and post_recv logic, don't ring the db if it's disabled.
      
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      e998f245
  2. Sep 05, 2009
  3. Jun 11, 2009
    • Divy Le Ray's avatar
      cxgb3: remove __GFP_NOFAIL usage · 74b793e1
      Divy Le Ray authored
      
      Pre-allocate a skb at init time to be used for control messages to the HW
      if skb allocation fails.
      
      Tolerate failures to send messages initializing some memories at the cost of
      parity error detection for these memories.
      Retry sending connection id release messages if both alloc_skb(GFP_ATOMIC)
      and alloc_skb(GFP_KERNEL) fail.
      Do not bring the interface up if messages binding queue set to port fail to
      be sent.
      
      Signed-off-by: default avatarDivy Le Ray <divy@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      74b793e1
  4. Jan 26, 2009
  5. Oct 13, 2008
  6. Aug 31, 2007
  7. Feb 17, 2007
  8. Feb 05, 2007
Loading