summaryrefslogtreecommitdiffstats
path: root/sys/dev/netmap/netmap.c
diff options
context:
space:
mode:
authorluigi <luigi@FreeBSD.org>2014-06-06 18:02:32 +0000
committerluigi <luigi@FreeBSD.org>2014-06-06 18:02:32 +0000
commitc55588c12ba6dc6be00a46af8226b72a2609ddc0 (patch)
treea549466f01595fc69453502a804e60b8904e1a12 /sys/dev/netmap/netmap.c
parente58dba8d4688669688674467f7144cab87942628 (diff)
downloadFreeBSD-src-c55588c12ba6dc6be00a46af8226b72a2609ddc0.zip
FreeBSD-src-c55588c12ba6dc6be00a46af8226b72a2609ddc0.tar.gz
introduce mbq_lock() and mbq_unlock() for the mbq,
so it is easier to buil the same code on linux (this generalizes the change in svn 267142) MFC after: 3 days
Diffstat (limited to 'sys/dev/netmap/netmap.c')
-rw-r--r--sys/dev/netmap/netmap.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/netmap/netmap.c b/sys/dev/netmap/netmap.c
index 8b62dec..274a7d7 100644
--- a/sys/dev/netmap/netmap.c
+++ b/sys/dev/netmap/netmap.c
@@ -1050,7 +1050,7 @@ netmap_rxsync_from_host(struct netmap_adapter *na, struct thread *td, void *pwai
(void)pwait; /* disable unused warnings */
(void)td;
- mtx_lock_spin(&q->lock);
+ mbq_lock(q);
/* First part: import newly received packets */
n = mbq_len(q);
@@ -1092,7 +1092,7 @@ netmap_rxsync_from_host(struct netmap_adapter *na, struct thread *td, void *pwai
if (kring->rcur == kring->rtail && td) /* no bufs available */
selrecord(td, &kring->si);
- mtx_unlock_spin(&q->lock);
+ mbq_unlock(q);
return ret;
}
@@ -2459,7 +2459,7 @@ netmap_transmit(struct ifnet *ifp, struct mbuf *m)
* not possible on Linux).
* Also avoid overflowing the queue.
*/
- mtx_lock_spin(&q->lock);
+ mbq_lock(q);
space = kring->nr_hwtail - kring->nr_hwcur;
if (space < 0)
@@ -2476,7 +2476,7 @@ netmap_transmit(struct ifnet *ifp, struct mbuf *m)
m = NULL;
error = 0;
}
- mtx_unlock_spin(&q->lock);
+ mbq_unlock(q);
done:
if (m)
OpenPOWER on IntegriCloud