• Nicholas Bellinger's avatar
    ib_isert: Add support for completion interrupt coalescing · 95b60f07
    Nicholas Bellinger authored
    This patch adds support for completion interrupt coalescing that
    allows only every ISERT_COMP_BATCH_COUNT (8) to set IB_SEND_SIGNALED,
    thus avoiding completion interrupts for every posted iser_tx_desc.
    
    The batch processing is done using a per isert_conn llist that once
    IB_SEND_SIGNALED has been set is saved to tx_desc->comp_llnode_batch,
    and completion processing of previously posted iser_tx_descs is done
    in a single shot from within isert_send_completion() code.
    
    Note this is only done for response PDUs from ISCSI_OP_SCSI_CMD, and
    all other control type of PDU responses will force an implicit batch
    drain to occur.
    
    Cc: Or Gerlitz <ogerlitz@mellanox.com>
    Cc: Sagi Grimberg <sagig@mellanox.com>
    Cc: Kent Overstreet <kmo@daterainc.com>
    Cc: Roland Dreier <roland@purestorage.com>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    95b60f07
ib_isert.c 77.5 KB