linux/Documentation/locking
Oleg Nesterov 28a0ee3119 documentation: seqlock: fix the wrong documentation of read_seqbegin_or_lock/need_seqretry
The comments and pseudo code in Documentation/locking/seqlock.rst are wrong:

	int seq = 0;
	do {
		read_seqbegin_or_lock(&foo_seqlock, &seq);

		/* ... [[read-side critical section]] ... */

	} while (need_seqretry(&foo_seqlock, seq));

read_seqbegin_or_lock() always returns with an even "seq" and need_seqretry()
doesn't change this counter. This means that seq is always even and thus the
locking pass is simply impossible.

IOW, "_or_lock" has no effect and this code doesn't differ from

	do {
		seq = read_seqbegin(&foo_seqlock);

		/* ... [[read-side critical section]] ... */

	} while (read_seqretry(&foo_seqlock, seq));

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
2025-10-21 12:31:56 +02:00
..
futex-requeue-pi.rst Documentation: locking: fix references 2021-08-24 13:20:39 -06:00
hwspinlock.rst hwspinlock: Remove unused hwspin_lock_get_id() 2025-03-21 17:12:04 -05:00
index.rst Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
lockdep-design.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
lockstat.rst docs: locking: convert docs to ReST and rename to *.rst 2019-07-15 08:53:27 -03:00
locktorture.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
locktypes.rst Documentation: locking: Add local_lock_nested_bh() to locktypes 2025-08-21 12:52:20 -06:00
mutex-design.rst locking/mutex: Clarify that mutex_unlock(), and most other sleeping locks, can still use the lock object after it's unlocked 2024-01-08 09:55:31 +01:00
percpu-rw-semaphore.rst locking/Documentation: Fix grammar in percpu-rw-semaphore.rst 2024-11-13 10:59:01 +01:00
pi-futex.rst docs: move locking-specific documents to locking/ 2020-05-15 12:05:07 -06:00
preempt-locking.rst docs: move locking-specific documents to locking/ 2020-05-15 12:05:07 -06:00
robust-futex-ABI.rst docs: move locking-specific documents to locking/ 2020-05-15 12:05:07 -06:00
robust-futexes.rst docs: move locking-specific documents to locking/ 2020-05-15 12:05:07 -06:00
rt-mutex-design.rst docs: locking: convert docs to ReST and rename to *.rst 2019-07-15 08:53:27 -03:00
rt-mutex.rst docs: move locking-specific documents to locking/ 2020-05-15 12:05:07 -06:00
seqlock.rst documentation: seqlock: fix the wrong documentation of read_seqbegin_or_lock/need_seqretry 2025-10-21 12:31:56 +02:00
spinlocks.rst docs/locking: Fix outdated section names 2020-02-05 10:21:12 -07:00
ww-mutex-design.rst doc: drm: remove TODO entry regarding DRM_MODSET_LOCK_ALL cleanup 2021-10-01 13:01:05 -04:00