Date: Sat, 25 Jan 2020 15:37:48 -0500 From: Mark Johnston <markj@freebsd.org> To: Gleb Smirnoff <glebius@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r357090 - head/sys/dev/re Message-ID: <20200125203748.GA56065@raichu> In-Reply-To: <202001241724.00OHO3jn066308@repo.freebsd.org> References: <202001241724.00OHO3jn066308@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 24, 2020 at 05:24:03PM +0000, Gleb Smirnoff wrote: > 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. ena(4) and the virtio network driver are similarly broken. > 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?20200125203748.GA56065>