Lines Matching full:sequence
13 * - Sequence counters with associated locks, (C) 2020 Linutronix GmbH
27 * The seqlock seqcount_t interface does not prescribe a precise sequence of
48 s->sequence = 0; in __seqcount_init()
87 #define SEQCNT_ZERO(name) { .sequence = 0, SEQCOUNT_DEP_MAP_INIT(name) }
90 * Sequence counters with associated locks (seqcount_LOCKNAME_t)
92 * A sequence counter which associates the lock used for writer
105 * typedef seqcount_LOCKNAME_t - sequence counter with LOCKNAME associated
106 * @seqcount: The real sequence counter
109 * A plain sequence counter with external writer synchronization by
110 * LOCKNAME @lock. The lock is associated to the sequence counter in the
160 unsigned seq = smp_load_acquire(&s->seqcount.sequence); \
170 * Re-read the sequence counter since the (possibly \
173 seq = smp_load_acquire(&s->seqcount.sequence); \
211 return smp_load_acquire(&s->sequence); in __seqprop_sequence()
261 #define seqprop_sequence(s) __seqprop(s, sequence)(s)
308 * masking the sequence counter LSB. Calling code is responsible for
334 * If true, start will be set to the (even) sequence count read.
391 return unlikely(READ_ONCE(s->sequence) != start);
431 s->sequence++; in do_raw_write_seqcount_begin()
452 s->sequence++; in do_raw_write_seqcount_end()
485 * Context: sequence counter write side sections must be serialized and
574 s->sequence++; in do_raw_write_seqcount_barrier()
576 s->sequence++; in do_raw_write_seqcount_barrier()
595 s->sequence+=2; in do_write_seqcount_invalidate()
600 * Latch sequence counters (seqcount_latch_t)
602 * A sequence counter variant where the counter even/odd value is used to
634 * Return: sequence counter raw value. Use the lowest bit as an index for
644 return READ_ONCE(s->seqcount.sequence); in raw_read_seqcount_latch()
654 * Return: sequence counter raw value. Use the lowest bit as an index for
675 return unlikely(READ_ONCE(s->seqcount.sequence) != start); in raw_read_seqcount_latch_retry()
698 smp_wmb(); /* prior stores before incrementing "sequence" */ in raw_write_seqcount_latch()
699 s->seqcount.sequence++; in raw_write_seqcount_latch()
700 smp_wmb(); /* increment "sequence" before following stores */ in raw_write_seqcount_latch()
770 * to miss an entire modification sequence, once it resumes it might
990 * locking readers, but it does not update the embedded sequence number.
1121 * Return: the encountered sequence counter value, through the @seq
1138 * @seq: sequence count, from read_seqbegin_or_lock()
1178 * 2. The encountered sequence counter value, returned through @seq