Lines Matching defs:seqlock
47 struct seqlock {
51 typedef struct seqlock seqlock_t;
115 seqlock_init(struct seqlock *seqlock)
119 * seqlock has been freed. There is no seqlock destructor exists so we
122 mtx_init(&seqlock->seql_lock, "seqlock", NULL, MTX_DEF|MTX_NOWITNESS);
123 seqcount_init(&seqlock->seql_count);
127 lkpi_write_seqlock(struct seqlock *seqlock, const bool irqsave)
129 mtx_lock(&seqlock->seql_lock);
132 write_seqcount_begin(&seqlock->seql_count);
136 write_seqlock(struct seqlock *seqlock)
138 lkpi_write_seqlock(seqlock, false);
142 lkpi_write_sequnlock(struct seqlock *seqlock, const bool irqsave)
144 write_seqcount_end(&seqlock->seql_count);
147 mtx_unlock(&seqlock->seql_lock);
151 write_sequnlock(struct seqlock *seqlock)
153 lkpi_write_sequnlock(seqlock, false);
163 #define write_seqlock_irqsave(seqlock, flags) do { \
165 lkpi_write_seqlock(seqlock, true); \
169 write_sequnlock_irqrestore(struct seqlock *seqlock,
172 lkpi_write_sequnlock(seqlock, true);
176 read_seqbegin(const struct seqlock *seqlock)
178 return (read_seqcount_begin(&seqlock->seql_count));
181 #define read_seqretry(seqlock, gen) \
182 read_seqcount_retry(&(seqlock)->seql_count, gen)