On Thu, Jun 06, 2019 at 10:13:13AM -0700, John Baldwin wrote: > On 6/6/19 9:22 AM, Mark Johnston wrote: > > Author: markj > > Date: Thu Jun 6 16:22:29 2019 > > New Revision: 348745 > > URL: https://svnweb.freebsd.org/changeset/base/348745 > > > > Log: > > Conditionalize an in_epoch() call on INVARIANTS. > > > > Its result is only used to determine whether to perform further > > INVARIANTS-only checks. Remove a stale comment while here. > > > > Submitted by: Sebastian Huber <sebastian.hu...@embedded-brains.de> > > MFC after: 1 week > > > > Modified: > > head/sys/net/if_lagg.c > > > > Modified: head/sys/net/if_lagg.c > > ============================================================================== > > --- head/sys/net/if_lagg.c Thu Jun 6 16:20:50 2019 (r348744) > > +++ head/sys/net/if_lagg.c Thu Jun 6 16:22:29 2019 (r348745) > > @@ -1955,12 +1955,10 @@ lagg_link_active(struct lagg_softc *sc, struct > > lagg_po > > * Search a port which reports an active link state. > > */ > > > > - /* > > - * This is called with either LAGG_RLOCK() held or > > - * LAGG_XLOCK(sc) held. > > - */ > > +#ifdef INVARIANTS > > if (!in_epoch(net_epoch_preempt)) > > LAGG_XLOCK_ASSERT(sc); > > +#endif > > FWIW, the comment wasn't stale but on purpose (I added it when I added the > check). > The idea is to be the equivalent of > > assert(in_epoch(net_epoch_preempt) || lagg_xlocked(sc)) > > However, I couldn't write it that way, so I use LAGG_XLOCK_ASSERT when > !in_epoch > returns false.
We could add #ifdef INVARIANTS #define LAGG_ASSERT_LOCKED(_sc) (sx_xlocked(&(_sc)->sc_sx) || in_epoch(net_epoch_preempt)) #else #define LAGG_ASSERT_LOCKED(_sc) #endif > Note that LAGG_RLOCK == epoch_enter, hence why the comment isn't stale. I noticed that, but thought it was oddly phrased and decided it was stale without checking when the comment was added. I re-added it. _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"