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.  Note that LAGG_RLOCK == epoch_enter, hence why the comment isn't
stale.

-- 
John Baldwin
_______________________________________________
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"

Reply via email to