Lines Matching full:sequence
13 * - Sequence counters with associated locks, (C) 2020 Linutronix GmbH
26 * The seqlock seqcount_t interface does not prescribe a precise sequence of
41 * Sequence counters (seqcount_t)
55 * locking primitives, use a sequence counter with associated lock
58 * If it's desired to automatically handle the sequence counter writer
65 unsigned sequence; member
78 s->sequence = 0; in __seqcount_init()
117 #define SEQCNT_ZERO(name) { .sequence = 0, SEQCOUNT_DEP_MAP_INIT(name) }
120 * Sequence counters with associated locks (seqcount_LOCKNAME_t)
122 * A sequence counter which associates the lock used for writer
157 * typedef seqcount_LOCKNAME_t - sequence counter with LOCKNAME associated
158 * @seqcount: The real sequence counter
161 * A plain sequence counter with external writer synchronization by
162 * LOCKNAME @lock. The lock is associated to the sequence counter in the
213 unsigned seq = READ_ONCE(s->seqcount.sequence); \
223 * Re-read the sequence counter since the (possibly \
226 seq = READ_ONCE(s->seqcount.sequence); \
259 return READ_ONCE(s->sequence); in __seqprop_sequence()
307 #define seqprop_sequence(s) __seqprop(s, sequence)
368 * masking the sequence counter LSB. Calling code is responsible for
429 return unlikely(READ_ONCE(s->sequence) != start); in do___read_seqcount_retry()
469 s->sequence++; in do_raw_write_seqcount_begin()
490 s->sequence++; in do_raw_write_seqcount_end()
523 * Context: sequence counter write side sections must be serialized and
612 s->sequence++; in do_raw_write_seqcount_barrier()
614 s->sequence++; in do_raw_write_seqcount_barrier()
633 s->sequence+=2; in do_write_seqcount_invalidate()
638 * Latch sequence counters (seqcount_latch_t)
640 * A sequence counter variant where the counter even/odd value is used to
672 * Return: sequence counter raw value. Use the lowest bit as an index for
682 return READ_ONCE(s->seqcount.sequence); in raw_read_seqcount_latch()
729 * latch->seq.sequence++;
735 * latch->seq.sequence++;
771 * to miss an entire modification sequence, once it resumes it might
781 smp_wmb(); /* prior stores before incrementing "sequence" */ in raw_write_seqcount_latch()
782 s->seqcount.sequence++; in raw_write_seqcount_latch()
783 smp_wmb(); /* increment "sequence" before following stores */ in raw_write_seqcount_latch()
789 * Sequence counters with an embedded spinlock for writer serialization
1000 * locking readers, but it does not update the embedded sequence number.
1131 * Return: the encountered sequence counter value, through the @seq
1148 * @seq: sequence count, from read_seqbegin_or_lock()
1188 * 2. The encountered sequence counter value, returned through @seq