git: 71faea93070e - main - seqc: add symbolic name for in-modify bit

Konstantin Belousov kib at FreeBSD.org
Wed Jun 23 20:47:22 UTC 2021


The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=71faea93070e6df371bf73ed12e2a1da27dc8e2d

commit 71faea93070e6df371bf73ed12e2a1da27dc8e2d
Author:     Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-04-29 22:39:23 +0000
Commit:     Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-06-23 20:46:15 +0000

    seqc: add symbolic name for in-modify bit
    
    Reviewed by:    mckusick
    Discussed with: markj
    Tested by:      pho
    Sponsored by:   The FreeBSD Foundation
    MFC after:      2 weeks
    Differential revision:  https://reviews.freebsd.org/D30041
---
 sys/sys/seqc.h | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/sys/sys/seqc.h b/sys/sys/seqc.h
index 3cfaaf3acbda..fd9f196aceca 100644
--- a/sys/sys/seqc.h
+++ b/sys/sys/seqc.h
@@ -45,13 +45,15 @@
 
 #include <machine/cpu.h>
 
+#define	SEQC_MOD	1
+
 /*
  * Predicts from inline functions are not honored by clang.
  */
 #define seqc_in_modify(seqc)	({			\
 	seqc_t __seqc = (seqc);				\
 							\
-	__predict_false(__seqc & 1);			\
+	__predict_false(__seqc & SEQC_MOD);		\
 })
 
 static __inline void
@@ -60,7 +62,7 @@ seqc_write_begin(seqc_t *seqcp)
 
 	critical_enter();
 	MPASS(!seqc_in_modify(*seqcp));
-	*seqcp += 1;
+	*seqcp += SEQC_MOD;
 	atomic_thread_fence_rel();
 }
 
@@ -69,7 +71,7 @@ seqc_write_end(seqc_t *seqcp)
 {
 
 	atomic_thread_fence_rel();
-	*seqcp += 1;
+	*seqcp += SEQC_MOD;
 	MPASS(!seqc_in_modify(*seqcp));
 	critical_exit();
 }
@@ -85,7 +87,7 @@ static __inline seqc_t
 seqc_read_notmodify(const seqc_t *seqcp)
 {
 
-	return (atomic_load_acq_int(__DECONST(seqc_t *, seqcp)) & ~1);
+	return (atomic_load_acq_int(__DECONST(seqc_t *, seqcp)) & ~SEQC_MOD);
 }
 
 static __inline seqc_t
@@ -126,7 +128,7 @@ seqc_sleepable_write_begin(seqc_t *seqcp)
 {
 
 	MPASS(!seqc_in_modify(*seqcp));
-	*seqcp += 1;
+	*seqcp += SEQC_MOD;
 	atomic_thread_fence_rel();
 }
 
@@ -135,7 +137,7 @@ seqc_sleepable_write_end(seqc_t *seqcp)
 {
 
 	atomic_thread_fence_rel();
-	*seqcp += 1;
+	*seqcp += SEQC_MOD;
 	MPASS(!seqc_in_modify(*seqcp));
 }
 


More information about the dev-commits-src-all mailing list