diff options
author | Michael S. Tsirkin <mst@mellanox.co.il> | 2006-01-09 23:04:40 +0100 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-01-09 23:04:40 +0100 |
commit | 92898522e3ee1a0ba54140aad1974d9e868f74ae (patch) | |
tree | 25f398798849c6806830aa3a32a98c72640a12e3 /usr | |
parent | IB/mthca: fix page shift calculation in mthca_reg_phys_mr() (diff) | |
download | linux-92898522e3ee1a0ba54140aad1974d9e868f74ae.tar.xz linux-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 'usr')
0 files changed, 0 insertions, 0 deletions