Commit cc4a2981 authored by Andrea Parri's avatar Andrea Parri Committed by Paul E. McKenney
Browse files

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: default avatarAndrea Parri <parri.andrea@gmail.com>
Reviewed-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 05dc8470
Loading
Loading
Loading
Loading
+1 −26
Original line number Diff line number Diff line
@@ -1028,32 +1028,7 @@ Limitations of the Linux-kernel memory model (LKMM) include:
		additional call_rcu() process to the site of the
		emulated rcu-barrier().

	e.	Although sleepable RCU (SRCU) is now modeled, there
		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
	e.	Reader-writer locking is not modeled.  It can be
		emulated in litmus tests using atomic read-modify-write
		operations.