android_kernel_motorola_sm6225/drivers/infiniband/hw/mthca
Michael S. Tsirkin 92898522e3 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>
2006-01-09 14:04:40 -08:00
..
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [IB] mthca: first pass at catastrophic error reporting 2005-10-27 11:03:38 -07:00
mthca_allocator.c [PATCH] IB/mthca: Factor out common queue alloc code 2005-08-26 20:37:37 -07:00
mthca_av.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
mthca_catas.c Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2005-11-10 13:27:06 -08:00
mthca_cmd.c IB/mthca: fix QP size limits for mem-free HCAs 2005-11-30 09:55:22 -08:00
mthca_cmd.h [PATCH] gfp_t: drivers/infiniband 2005-10-28 08:16:50 -07:00
mthca_config_reg.h [PATCH] IB: Add copyright notices 2005-08-26 20:37:35 -07:00
mthca_cq.c IB/mthca: Fill in vendor_err field in completion with error 2006-01-06 13:13:32 -08:00
mthca_dev.h [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
mthca_doorbell.h [PATCH] IB: sparse endianness cleanup 2005-08-26 20:37:35 -07:00
mthca_eq.c IB/mthca: prevent event queue overrun 2006-01-09 14:04:40 -08:00
mthca_mad.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
mthca_main.c IB/mthca: check return value in mthca_dev_lim call 2006-01-05 16:12:01 -08:00
mthca_mcg.c IB/mthca: multiple fixes for multicast group handling 2006-01-06 13:11:07 -08:00
mthca_memfree.c IB/mthca: Fix thinko in mthca_table_find() 2005-12-15 13:55:50 -08:00
mthca_memfree.h Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-10-28 15:50:51 -07:00
mthca_mr.c [IB] kzalloc() conversions 2005-11-02 07:23:14 -08:00
mthca_pd.c [PATCH] IB: Add copyright notices 2005-08-26 20:37:35 -07:00
mthca_profile.c Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2005-11-04 16:31:54 -08:00
mthca_profile.h [PATCH] IB/mthca: Add SRQ implementation 2005-08-26 20:37:37 -07:00
mthca_provider.c IB/mthca: fix page shift calculation in mthca_reg_phys_mr() 2006-01-09 13:50:57 -08:00
mthca_provider.h [IB] uverbs: have kernel return QP capabilities 2005-11-10 10:22:50 -08:00
mthca_qp.c IB/mthca: Add support for automatic path migration (APM) 2006-01-06 13:23:58 -08:00
mthca_reset.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
mthca_srq.c IB/mthca: fix WQE size calculation in create-srq 2006-01-04 14:42:39 -08:00
mthca_uar.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
mthca_user.h [IB] uverbs: Add device-specific ABI version attribute 2005-10-17 15:20:26 -07:00
mthca_wqe.h IB/mthca: fix posting of send lists of length >= 255 on mem-free HCAs 2005-11-29 11:33:46 -08:00