]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Simplify lazy advance with a 64bit atomic cmpset.
authorjeff <jeff@FreeBSD.org>
Thu, 27 Feb 2020 19:05:26 +0000 (19:05 +0000)
committerjeff <jeff@FreeBSD.org>
Thu, 27 Feb 2020 19:05:26 +0000 (19:05 +0000)
commitafe550b4a35870ef9043840255d53cbf45358699
treef6d0e7580d82ffc47929b37c07fcec12e3930f4f
parentd425254c28d9b03950ee7cc34ebc2bcce7fbf72c
Simplify lazy advance with a 64bit atomic cmpset.

This provides the potential to force a lazy (tick based) SMR to advance
when there are blocking waiters by decoupling the wr_seq value from the
ticks value.

Add some missing compiler barriers.

Reviewed by: rlibby
Differential Revision: https://reviews.freebsd.org/D23825
sys/kern/subr_smr.c
sys/sys/smr.h