mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 04:06:26 +00:00
tools/memory-model: Remove out-of-date SRCU documentation
Commit 6cd244c87428 ("tools/memory-model: Provide exact SRCU semantics") changed the semantics of partially overlapping SRCU read-side critical sections (among other things), making such documentation out-of-date. The new, semantic changes are discussed in explanation.txt. Remove the out-of-date documentation. Signed-off-by: Andrea Parri <parri.andrea@gmail.com> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
05dc8470b3
commit
cc4a29819b
@ -1028,32 +1028,7 @@ Limitations of the Linux-kernel memory model (LKMM) include:
|
|||||||
additional call_rcu() process to the site of the
|
additional call_rcu() process to the site of the
|
||||||
emulated rcu-barrier().
|
emulated rcu-barrier().
|
||||||
|
|
||||||
e. Although sleepable RCU (SRCU) is now modeled, there
|
e. Reader-writer locking is not modeled. It can be
|
||||||
are some subtle differences between its semantics and
|
|
||||||
those in the Linux kernel. For example, the kernel
|
|
||||||
might interpret the following sequence as two partially
|
|
||||||
overlapping SRCU read-side critical sections:
|
|
||||||
|
|
||||||
1 r1 = srcu_read_lock(&my_srcu);
|
|
||||||
2 do_something_1();
|
|
||||||
3 r2 = srcu_read_lock(&my_srcu);
|
|
||||||
4 do_something_2();
|
|
||||||
5 srcu_read_unlock(&my_srcu, r1);
|
|
||||||
6 do_something_3();
|
|
||||||
7 srcu_read_unlock(&my_srcu, r2);
|
|
||||||
|
|
||||||
In contrast, LKMM will interpret this as a nested pair of
|
|
||||||
SRCU read-side critical sections, with the outer critical
|
|
||||||
section spanning lines 1-7 and the inner critical section
|
|
||||||
spanning lines 3-5.
|
|
||||||
|
|
||||||
This difference would be more of a concern had anyone
|
|
||||||
identified a reasonable use case for partially overlapping
|
|
||||||
SRCU read-side critical sections. For more information
|
|
||||||
on the trickiness of such overlapping, please see:
|
|
||||||
https://paulmck.livejournal.com/40593.html
|
|
||||||
|
|
||||||
f. Reader-writer locking is not modeled. It can be
|
|
||||||
emulated in litmus tests using atomic read-modify-write
|
emulated in litmus tests using atomic read-modify-write
|
||||||
operations.
|
operations.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user