aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/seqlock.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h
index dcc64b9bfc41..cce6e7453592 100644
--- a/include/linux/seqlock.h
+++ b/include/linux/seqlock.h
@@ -236,6 +236,17 @@ static inline void raw_write_seqcount_end(seqcount_t *s)
236} 236}
237 237
238/* 238/*
239 * raw_write_seqcount_latch - redirect readers to even/odd copy
240 * @s: pointer to seqcount_t
241 */
242static inline void raw_write_seqcount_latch(seqcount_t *s)
243{
244 smp_wmb(); /* prior stores before incrementing "sequence" */
245 s->sequence++;
246 smp_wmb(); /* increment "sequence" before following stores */
247}
248
249/*
239 * Sequence counter only version assumes that callers are using their 250 * Sequence counter only version assumes that callers are using their
240 * own mutexing. 251 * own mutexing.
241 */ 252 */