svn commit: r357051 - head/sys/dev/bge
Gleb Smirnoff
glebius at FreeBSD.org
Thu Jan 23 16:36:59 UTC 2020
Author: glebius
Date: Thu Jan 23 16:36:58 2020
New Revision: 357051
URL: https://svnweb.freebsd.org/changeset/base/357051
Log:
With MSI interrupts bge(4) just schedules taskqueue. Enter the network
epoch in the taskqueue handler.
Reported by: kib
Modified:
head/sys/dev/bge/if_bge.c
Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c Thu Jan 23 16:24:51 2020 (r357050)
+++ head/sys/dev/bge/if_bge.c Thu Jan 23 16:36:58 2020 (r357051)
@@ -4646,6 +4646,7 @@ bge_msi_intr(void *arg)
static void
bge_intr_task(void *arg, int pending)
{
+ struct epoch_tracker et;
struct bge_softc *sc;
if_t ifp;
uint32_t status, status_tag;
@@ -4688,7 +4689,9 @@ bge_intr_task(void *arg, int pending)
sc->bge_rx_saved_considx != rx_prod) {
/* Check RX return ring producer/consumer. */
BGE_UNLOCK(sc);
+ NET_EPOCH_ENTER(et);
bge_rxeof(sc, rx_prod, 0);
+ NET_EPOCH_EXIT(et);
BGE_LOCK(sc);
}
if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
More information about the svn-src-head
mailing list