• Vipul Pandya's avatar
    cxgb4: DB Drop Recovery for RDMA and LLD queues · 3069ee9b
    Vipul Pandya authored
    recover LLD EQs for DB drop interrupts.  This includes adding a new
    db_lock, a spin lock disabling BH too, used by the recovery thread and
    the ring_tx_db() paths to allow db drop recovery.
    
    Clean up initial DB avoidance code.
    
    Add read_eq_indices() - this allows the LLD to use the PCIe mw to
    efficiently read hw eq contexts.
    
    Add cxgb4_sync_txq_pidx() - called by iw_cxgb4 to sync up the sw/hw
    pidx value.
    
    Add flush_eq_cache() and cxgb4_flush_eq_cache().  This allows iw_cxgb4
    to flush the sge eq context cache before beginning db drop recovery.
    
    Add module parameter, dbfoifo_int_thresh, to allow tuning the db
    interrupt threshold value.
    
    Add dbfifo_int_thresh to cxgb4_lld_info so iw_cxgb4 knows the threshold.
    
    Add module parameter, dbfoifo_drain_delay, to allow tuning the amount
    of time delay between DB FULL and EMPTY upcalls to iw_cxgb4.
    Signed-off-by: default avatarVipul Pandya <vipul@chelsio.com>
    Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    3069ee9b
sge.c 66.9 KB