IB/qib: Limit the number of packets processed per interrupt
Don't processes too many packets without allowing other IRQ functions a chance to run. Otherwise, there is a chance of getting a "soft lockup" messages and poor application response times. Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
4c6931f5d4
commit
3e3aed0b88
|
@ -335,7 +335,7 @@ u32 qib_kreceive(struct qib_ctxtdata *rcd, u32 *llic, u32 *npkts)
|
||||||
smp_rmb(); /* prevent speculative reads of dma'ed hdrq */
|
smp_rmb(); /* prevent speculative reads of dma'ed hdrq */
|
||||||
}
|
}
|
||||||
|
|
||||||
for (last = 0, i = 1; !last; i += !last) {
|
for (last = 0, i = 1; !last && i <= 64; i += !last) {
|
||||||
hdr = dd->f_get_msgheader(dd, rhf_addr);
|
hdr = dd->f_get_msgheader(dd, rhf_addr);
|
||||||
eflags = qib_hdrget_err_flags(rhf_addr);
|
eflags = qib_hdrget_err_flags(rhf_addr);
|
||||||
etype = qib_hdrget_rcv_type(rhf_addr);
|
etype = qib_hdrget_rcv_type(rhf_addr);
|
||||||
|
|
Loading…
Reference in New Issue