[IBAL] Limit time spent at DISPATCH_LEVEL when processing MADs.
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Sun, 13 Jul 2008 11:35:53 +0000 (11:35 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Sun, 13 Jul 2008 11:35:53 +0000 (11:35 +0000)
commit67e63466004b6095dcf1ebe052088b2cfb5f891c
treecb6e6e2faba0388d74088502b3b58d2d94ca09fb
parentbf943ddb2ec0dbfecc4510d65f4aa580fe4e792c
[IBAL] Limit time spent at DISPATCH_LEVEL when processing MADs.

In working with some switch SMs, I found that under stress the QP0 MAD processing could get delayed by eternal QP1 MAD processing (from hitting the SA for path queries).  This caused the SMs to remove the node from the fabric (multicast group membership, etc) because it appeared unreachable.

This patch adds a DPC for QP0 and QP1 to the SMI, and limits the SMI to processing 16 MADs before re-queueing the DPC to the DPC queue.

Because QP0 processing is crucial to the fabric operating properly, the QP0 DPC is set to high importance so that it always gets queued to the front of the DPC queue, pre-empting any QP1 processing (among other things).

In any case, with this patch all my changes have now been mailed to the list.

Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1393 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
core/al/kernel/al_smi.c
core/al/kernel/al_smi.h