done_seqretry_irqrestore(9)
π done_seqretry_irqrestore(9) π
okay bestie, welcome to the Kernel API Manual β todayβs main character is done_seqretry_irqrestore(9), and she is here to close out a seqlock reader section. π
π NAME π
done_seqretry_irqrestore β end a seqlock_t lockless reader, or a non-interruptible locking reader section. thatβs the whole name vibe, no cap. π¦
β¨ SYNOPSIS β¨
void done_seqretry_irqrestore (seqlock_t *lock , int seq , unsigned long
flags );
π«Ά ARGUMENTS π«Ά
lockβ pointer toseqlock_t. thatβs the lock, bestie.seqβ count, fromread_seqbegin_or_lock_irqsave. keep it close.flagsβ callerβs saved local interrupt state in case of a locking reader, also fromread_seqbegin_or_lock_irqsave. same origin story asseq, periodt.
πΈ DESCRIPTION πΈ
This is the _irqrestore variant of done_seqretry. the way that matters: the read section mustβve been opened with read_seqbegin_or_lock_irqsave, and validated by need_seqretry. thatβs the required combo β no random validation, no skipping steps. π
π¦ SEE ALSO π¦
Kernel file: ./include/linux/seqlock.h β the source file bestie.
the whole seqlock friend group is here:
seqcount_init(9)SEQCNT_ZERO(9)__read_seqcount_begin(9)raw_read_seqcount_begin(9)read_seqcount_begin(9)raw_read_seqcount(9)raw_seqcount_try_begin(9)raw_seqcount_begin(9)__read_seqcount_retry(9)read_seqcount_retry(9)raw_write_seqcount_begin(9)raw_write_seqcount_end(9)write_seqcount_begin_nested(9)write_seqcount_begin(9)write_seqcount_end(9)raw_write_seqcount_barrier(9)write_seqcount_invalidate(9)SEQCNT_LATCH_ZERO(9)seqcount_latch_init(9)raw_read_seqcount_latch(9)read_seqcount_latch(9)raw_read_seqcount_latch_retry(9)read_seqcount_latch_retry(9)raw_write_seqcount_latch(9)write_seqcount_latch_begin(9)write_seqcount_latch(9)write_seqcount_latch_end(9)seqlock_init(9)DEFINE_SEQLOCK(9)read_seqbegin(9)read_seqretry(9)write_seqlock(9)write_sequnlock(9)write_seqlock_bh(9)write_sequnlock_bh(9)write_seqlock_irq(9)write_sequnlock_irq(9)write_seqlock_irqsave(9)write_sequnlock_irqrestore(9)read_seqlock_excl(9)read_sequnlock_excl(9)read_seqlock_excl_bh(9)read_sequnlock_excl_bh(9)read_seqlock_excl_irq(9)read_sequnlock_excl_irq(9)read_seqlock_excl_irqsave(9)read_sequnlock_excl_irqrestore(9)read_seqbegin_or_lock(9)need_seqretry(9)done_seqretry(9)read_seqbegin_or_lock_irqsave(9)scoped_seqlock_read(9)
okay thatβs the page! source/version situation: it comes from ./include/linux, dated October 2026, and the manual name is still done_seqretry_irqrestore(9). stay hydrated and lock safely ππ«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms