Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jan 2020 17:24:03 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r357090 - head/sys/dev/re
Message-ID:  <202001241724.00OHO3jn066308@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Fri Jan 24 17:24:02 2020
New Revision: 357090
URL: https://svnweb.freebsd.org/changeset/base/357090

Log:
  re(4) uses taskqueue to process input packets.  Enter network epoch
  in there.

Modified:
  head/sys/dev/re/if_re.c

Modified: head/sys/dev/re/if_re.c
==============================================================================
--- head/sys/dev/re/if_re.c	Fri Jan 24 17:15:31 2020	(r357089)
+++ head/sys/dev/re/if_re.c	Fri Jan 24 17:24:02 2020	(r357090)
@@ -2576,6 +2576,7 @@ re_intr(void *arg)
 static void
 re_int_task(void *arg, int npending)
 {
+	struct epoch_tracker	et;
 	struct rl_softc		*sc;
 	struct ifnet		*ifp;
 	u_int16_t		status;
@@ -2602,8 +2603,11 @@ re_int_task(void *arg, int npending)
 	}
 #endif
 
-	if (status & (RL_ISR_RX_OK|RL_ISR_RX_ERR|RL_ISR_FIFO_OFLOW))
+	if (status & (RL_ISR_RX_OK|RL_ISR_RX_ERR|RL_ISR_FIFO_OFLOW)) {
+		NET_EPOCH_ENTER(et);
 		rval = re_rxeof(sc, NULL);
+		NET_EPOCH_EXIT(et);
+	}
 
 	/*
 	 * Some chips will ignore a second TX request issued



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001241724.00OHO3jn066308>