summaryrefslogtreecommitdiff
path: root/sys/dev/netmap/netmap_generic.c
diff options
context:
space:
mode:
authorVincenzo Maffione <vmaffione@FreeBSD.org>2019-10-28 19:00:27 +0000
committerVincenzo Maffione <vmaffione@FreeBSD.org>2019-10-28 19:00:27 +0000
commit484456b2d8b8c0f99fb280f0d7477f328a0c9c04 (patch)
tree09cca84f2fb768566f2cd4005c67888cd8448ce0 /sys/dev/netmap/netmap_generic.c
parentf5ef5f675d9d9eb6e35ed9142d70ecf774456ad4 (diff)
Notes
Diffstat (limited to 'sys/dev/netmap/netmap_generic.c')
-rw-r--r--sys/dev/netmap/netmap_generic.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c
index 45b5d3bde35f..09ba550cae92 100644
--- a/sys/dev/netmap/netmap_generic.c
+++ b/sys/dev/netmap/netmap_generic.c
@@ -669,6 +669,11 @@ generic_netmap_txsync(struct netmap_kring *kring, int flags)
if (nm_i != head) { /* we have new packets to send */
struct nm_os_gen_arg a;
u_int event = -1;
+#ifdef __FreeBSD__
+ struct epoch_tracker et;
+
+ NET_EPOCH_ENTER(et);
+#endif
if (gna->txqdisc && nm_kr_txempty(kring)) {
/* In txqdisc mode, we ask for a delayed notification,
@@ -776,6 +781,10 @@ generic_netmap_txsync(struct netmap_kring *kring, int flags)
/* Update hwcur to the next slot to transmit. Here nm_i
* is not necessarily head, we could break early. */
kring->nr_hwcur = nm_i;
+
+#ifdef __FreeBSD__
+ NET_EPOCH_EXIT(et);
+#endif
}
/*