All of lore.kernel.org
 help / color / mirror / Atom feed
From: paulmck@kernel.org
To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	kernel-team@fb.com, mingo@kernel.org
Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com,
	will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com,
	npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk,
	luc.maranget@inria.fr, akiyks@gmail.com,
	"Paul E . McKenney" <paulmck@kernel.org>
Subject: [PATCH tip/core/rcu 06/14] tools/memory-model: Add an exception for limitations on _unless() family
Date: Mon, 22 Jun 2020 17:52:23 -0700	[thread overview]
Message-ID: <20200623005231.27712-6-paulmck@kernel.org> (raw)
In-Reply-To: <20200623005152.GA27459@paulmck-ThinkPad-P72>

From: Boqun Feng <boqun.feng@gmail.com>

According to Luc, atomic_add_unless() is directly provided by herd7,
therefore it can be used in litmus tests. So change the limitation
section in README to unlimit the use of atomic_add_unless().

Cc: Luc Maranget <luc.maranget@inria.fr>
Acked-by: Andrea Parri <parri.andrea@gmail.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 tools/memory-model/README | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/memory-model/README b/tools/memory-model/README
index fc07b52..b9c562e 100644
--- a/tools/memory-model/README
+++ b/tools/memory-model/README
@@ -207,11 +207,15 @@ The Linux-kernel memory model (LKMM) has the following limitations:
 		case as a store release.
 
 	b.	The "unless" RMW operations are not currently modeled:
-		atomic_long_add_unless(), atomic_add_unless(),
-		atomic_inc_unless_negative(), and
-		atomic_dec_unless_positive().  These can be emulated
+		atomic_long_add_unless(), atomic_inc_unless_negative(),
+		and atomic_dec_unless_positive().  These can be emulated
 		in litmus tests, for example, by using atomic_cmpxchg().
 
+		One exception of this limitation is atomic_add_unless(),
+		which is provided directly by herd7 (so no corresponding
+		definition in linux-kernel.def).  atomic_add_unless() is
+		modeled by herd7 therefore it can be used in litmus tests.
+
 	c.	The call_rcu() function is not modeled.  It can be
 		emulated in litmus tests by adding another process that
 		invokes synchronize_rcu() and the body of the callback
-- 
2.9.5

  parent reply	other threads:[~2020-06-23  0:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23  0:51 [PATCH memory-model 0/14] LKMM updates for v5.9 Paul E. McKenney
2020-06-23  0:52 ` [PATCH tip/core/rcu 01/14] tools/memory-model: Add recent references paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 02/14] tools/memory-model: Fix "conflict" definition paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 03/14] Documentation: LKMM: Add litmus test for RCU GP guarantee where updater frees object paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 04/14] Documentation: LKMM: Add litmus test for RCU GP guarantee where reader stores paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 05/14] MAINTAINERS: Update maintainers for new Documentation/litmus-tests paulmck
2020-06-23  0:52 ` paulmck [this message]
2020-06-23  0:52 ` [PATCH tip/core/rcu 07/14] Documentation/litmus-tests: Introduce atomic directory paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 08/14] Documentation/litmus-tests/atomic: Add a test for atomic_set() paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 09/14] Documentation/litmus-tests/atomic: Add a test for smp_mb__after_atomic() paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 10/14] tools/memory-model: Fix reference to litmus test in recipes.txt paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 11/14] Documentation/litmus-tests: Merge atomic's README into top-level one paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 12/14] Documentation/litmus-tests: Cite an RCU litmus test paulmck
2020-06-23  0:52 ` [PATCH tip/core/rcu 13/14] tools/memory-model/README: Expand dependency of klitmus7 paulmck
2020-06-23 14:37   ` Akira Yokosawa
2020-06-23 15:54     ` Paul E. McKenney
2020-06-23 22:06       ` [PATCH 1/2] tools/memory-model/README: Mention herdtools7 7.56 in compatibility table Akira Yokosawa
2020-06-23 22:09         ` [PATCH 2/2] Documentation/litmus-tests: Add note on herd7 7.56 in atomic litmus test Akira Yokosawa
2020-06-23 23:24           ` Andrea Parri
2020-06-24  4:05             ` Paul E. McKenney
2020-06-23 22:57         ` [PATCH 1/2] tools/memory-model/README: Mention herdtools7 7.56 in compatibility table Andrea Parri
2020-06-23  0:52 ` [PATCH tip/core/rcu 14/14] docs: fix references for DMA*.txt files paulmck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200623005231.27712-6-paulmck@kernel.org \
    --to=paulmck@kernel.org \
    --cc=akiyks@gmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=j.alglave@ucl.ac.uk \
    --cc=kernel-team@fb.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luc.maranget@inria.fr \
    --cc=mingo@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=parri.andrea@gmail.com \
    --cc=peterz@infradead.org \
    --cc=stern@rowland.harvard.edu \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.