diff options
author | Navdeep Parhar <np@FreeBSD.org> | 2011-03-05 04:04:23 +0000 |
---|---|---|
committer | Navdeep Parhar <np@FreeBSD.org> | 2011-03-05 04:04:23 +0000 |
commit | 83d58badea0890562d56532a7218fe27407577ec (patch) | |
tree | 9136308786ea63f4779b44ff121faea9aba6ddc8 /sys | |
parent | e874ff7a8baade7fa1b171bdf8e991bfcaa9b8e0 (diff) | |
download | src-83d58badea0890562d56532a7218fe27407577ec.tar.gz src-83d58badea0890562d56532a7218fe27407577ec.zip |
There is no need to hold an ingress queue's lock while processing its
descriptors.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=219293
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/cxgbe/t4_sge.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index d98683a2c2af..8bdab95fa947 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -414,7 +414,6 @@ t4_intr_fwd(void *arg) int ndesc_pending = 0, ndesc_total = 0; int qid; - IQ_LOCK(iq); while (is_new_response(iq, &ctrl)) { rmb(); @@ -441,7 +440,6 @@ t4_intr_fwd(void *arg) iq_next(iq); } - IQ_UNLOCK(iq); if (ndesc_total > 0) { t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), @@ -474,7 +472,6 @@ t4_intr_evt(void *arg) KASSERT(iq == &sc->sge.fwq, ("%s: unexpected ingress queue", __func__)); - IQ_LOCK(iq); while (is_new_response(iq, &ctrl)) { rmb(); @@ -517,7 +514,6 @@ t4_intr_evt(void *arg) } iq_next(iq); } - IQ_UNLOCK(iq); if (ndesc_total > 0) { t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), @@ -549,7 +545,6 @@ t4_intr_data(void *arg) prefetch(sd->m); prefetch(sd->cl); - IQ_LOCK(iq); iq->intr_next = iq->intr_params; while (is_new_response(iq, &ctrl)) { @@ -670,7 +665,6 @@ t4_intr_data(void *arg) len -= m->m_len; } - IQ_UNLOCK(iq); #ifdef INET if (cpl->l2info & htobe32(F_RXF_LRO) && rxq->flags & RXQ_LRO_ENABLED && @@ -679,7 +673,6 @@ t4_intr_data(void *arg) } else #endif ifp->if_input(ifp, m0); - IQ_LOCK(iq); FL_LOCK(fl); fl->needed += i; @@ -700,7 +693,6 @@ nextdesc: ndescs++; ndescs = 0; } } - IQ_UNLOCK(iq); #ifdef INET while (!SLIST_EMPTY(&lro->lro_active)) { |