svn commit: r348745 - head/sys/net
John Baldwin
jhb at FreeBSD.org
Thu Jun 6 17:13:20 UTC 2019
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.huber at 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
More information about the svn-src-head
mailing list