summaryrefslogtreecommitdiff
path: root/rust/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2025-10-09 22:11:54 +0200
committerPeter Zijlstra <peterz@infradead.org>2025-10-21 12:31:57 +0200
commitcc39f3872c0865bef992b713338df369554fa9e0 (patch)
tree01b33d0315b979baa2e35f92d1d12a8b1e6ace3c /rust/kernel
parent28a0ee311960baad97bf85e1e995aed4a71e22a2 (diff)
seqlock: Introduce scoped_seqlock_read()
The read_seqbegin/need_seqretry/done_seqretry API is cumbersome and error prone. With the new helper the "typical" code like int seq, nextseq; unsigned long flags; nextseq = 0; do { seq = nextseq; flags = read_seqbegin_or_lock_irqsave(&seqlock, &seq); // read-side critical section nextseq = 1; } while (need_seqretry(&seqlock, seq)); done_seqretry_irqrestore(&seqlock, seq, flags); can be rewritten as scoped_seqlock_read (&seqlock, ss_lock_irqsave) { // read-side critical section } Original idea by Oleg Nesterov; with contributions from Linus. Originally-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'rust/kernel')
0 files changed, 0 insertions, 0 deletions