diff options
author | Michael S. Tsirkin <mst@mellanox.co.il> | 2006-01-09 14:04:40 -0800 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-01-09 14:04:40 -0800 |
commit | 92898522e3ee1a0ba54140aad1974d9e868f74ae (patch) | |
tree | 25f398798849c6806830aa3a32a98c72640a12e3 /net/bluetooth/hci_event.c | |
parent | 6627fa662e86c400284b64c13661fdf6bff05983 (diff) |
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 'net/bluetooth/hci_event.c')
0 files changed, 0 insertions, 0 deletions