Lines Matching refs:seqlock
44 struct seqlock { struct
48 typedef struct seqlock seqlock_t; argument
91 seqlock_init(struct seqlock *seqlock) in seqlock_init() argument
98 mtx_init(&seqlock->seql_lock, "seqlock", NULL, MTX_DEF|MTX_NOWITNESS); in seqlock_init()
99 seqcount_init(&seqlock->seql_count); in seqlock_init()
103 write_seqlock(struct seqlock *seqlock) in write_seqlock() argument
105 mtx_lock(&seqlock->seql_lock); in write_seqlock()
106 write_seqcount_begin(&seqlock->seql_count); in write_seqlock()
110 write_sequnlock(struct seqlock *seqlock) in write_sequnlock() argument
112 write_seqcount_end(&seqlock->seql_count); in write_sequnlock()
113 mtx_unlock(&seqlock->seql_lock); in write_sequnlock()
116 #define write_seqlock_irqsave(seqlock, flags) do { \ argument
118 write_seqlock(seqlock); \
122 write_sequnlock_irqrestore(struct seqlock *seqlock, in write_sequnlock_irqrestore() argument
125 write_sequnlock(seqlock); in write_sequnlock_irqrestore()
129 read_seqbegin(const struct seqlock *seqlock) in read_seqbegin() argument
131 return (read_seqcount_begin(&seqlock->seql_count)); in read_seqbegin()
134 #define read_seqretry(seqlock, gen) \ argument
135 read_seqcount_retry(&(seqlock)->seql_count, gen)