aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mthca/mthca_provider.c
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@mellanox.co.il>2006-01-09 14:04:40 -0800
committerRoland Dreier <rolandd@cisco.com>2006-01-09 14:04:40 -0800
commit92898522e3ee1a0ba54140aad1974d9e868f74ae (patch)
tree25f398798849c6806830aa3a32a98c72640a12e3 /drivers/infiniband/hw/mthca/mthca_provider.c
parentIB/mthca: fix page shift calculation in mthca_reg_phys_mr() (diff)
downloadlinux-dev-92898522e3ee1a0ba54140aad1974d9e868f74ae.tar.xz
linux-dev-92898522e3ee1a0ba54140aad1974d9e868f74ae.zip
IB/mthca: prevent event queue overrun
I am seeing EQ overruns in SDP stress tests: if the CQ completion handler arms a CQ, this could generate more EQEs, so that EQ will never get empty and consumer index will never get updated. This is similiar to what we have with command interface: /* * cmd_event() may add more commands. * The card will think the queue has overflowed if * we don't tell it we've been processing events. */ However, for completion events, we *don't* want to update the consumer index on each event. So, perform EQ doorbell coalescing: allocate EQs with some spare EQEs, and update once we run out of them. The value 0x80 was selected to avoid any performance impact. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_provider.c')
0 files changed, 0 insertions, 0 deletions