Linux-Doc Archive on lore.kernel.org
 help / color / Atom feed
From: Boqun Feng <boqun.feng@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Andrea Parri <parri.andrea@gmail.com>,
	Will Deacon <will@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	David Howells <dhowells@redhat.com>,
	Jade Alglave <j.alglave@ucl.ac.uk>,
	Luc Maranget <luc.maranget@inria.fr>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Akira Yokosawa <akiyks@gmail.com>,
	Daniel Lustig <dlustig@nvidia.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Rob Herring <robh@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	linux-arch@vger.kernel.org, linux-doc@vger.kernel.org
Subject: [PATCH v3 0/5] Documentation/locking/atomic: Add litmus tests for atomic APIs
Date: Thu, 27 Feb 2020 08:40:44 +0800
Message-ID: <20200227004049.6853-1-boqun.feng@gmail.com> (raw)

A recent discussion raises up the requirement for having test cases for
atomic APIs:

	https://lore.kernel.org/lkml/20200213085849.GL14897@hirez.programming.kicks-ass.net/

, and since we already have a way to generate a test module from a
litmus test with klitmus[1]. It makes sense that we add more litmus
tests for atomic APIs. And based on the previous discussion, I create a
new directory Documentation/atomic-tests and put these litmus tests
here.

This patchset starts the work by adding the litmus tests which are
already used in atomic_t.txt, and also improve the atomic_t.txt to make
it consistent with the litmus tests.

Previous version:
v1: https://lore.kernel.org/linux-doc/20200214040132.91934-1-boqun.feng@gmail.com/
v2: https://lore.kernel.org/lkml/20200219062627.104736-1-boqun.feng@gmail.com/

Changes since v2:

*	Change from "RFC" to "PATCH".

*	Wording improvement in atomic_t.txt as per Alan's suggestion.

*	Add a new patch describing the usage of atomic_add_unless() is
	not limited anymore for LKMM litmus tests.

My PR on supporting "(void) expr;" statement has been merged by Luc
(Thank you, Luc). So all the litmus tests in this patchset can be
handled by the herdtools compiled from latest master branch of the
source code.

Comments and suggestions are welcome!

Regards,
Boqun

[1]: http://diy.inria.fr/doc/litmus.html#klitmus

Boqun Feng (5):
  tools/memory-model: Add an exception for limitations on _unless()
    family
  Documentation/locking/atomic: Fix atomic-set litmus test
  Documentation/locking/atomic: Introduce atomic-tests directory
  Documentation/locking/atomic: Add a litmus test for atomic_set()
  Documentation/locking/atomic: Add a litmus test smp_mb__after_atomic()

 ...ter_atomic-is-stronger-than-acquire.litmus | 32 +++++++++++++++++++
 ...c-RMW-ops-are-atomic-WRT-atomic_set.litmus | 24 ++++++++++++++
 Documentation/atomic-tests/README             | 16 ++++++++++
 Documentation/atomic_t.txt                    | 24 +++++++-------
 MAINTAINERS                                   |  1 +
 tools/memory-model/README                     | 10 ++++--
 6 files changed, 92 insertions(+), 15 deletions(-)
 create mode 100644 Documentation/atomic-tests/Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus
 create mode 100644 Documentation/atomic-tests/Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus
 create mode 100644 Documentation/atomic-tests/README

-- 
2.25.0


             reply index

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-27  0:40 Boqun Feng [this message]
2020-02-27  0:40 ` [PATCH v3 1/5] tools/memory-model: Add an exception for limitations on _unless() family Boqun Feng
2020-02-27 16:32   ` Alan Stern
2020-02-27 16:49     ` Luc Maranget
2020-02-27 18:16       ` Alan Stern
2020-02-27 17:52   ` Andrea Parri
2020-02-27  0:40 ` [PATCH v3 2/5] Documentation/locking/atomic: Fix atomic-set litmus test Boqun Feng
2020-02-27 16:34   ` Alan Stern
2020-02-28  6:30     ` Boqun Feng
2020-02-27  0:40 ` [PATCH v3 3/5] Documentation/locking/atomic: Introduce atomic-tests directory Boqun Feng
2020-02-27 16:36   ` Alan Stern
2020-02-27  0:40 ` [PATCH v3 4/5] Documentation/locking/atomic: Add a litmus test for atomic_set() Boqun Feng
2020-02-27 16:37   ` Alan Stern
2020-02-27 17:43   ` Andrea Parri
2020-02-27  0:40 ` [PATCH v3 5/5] Documentation/locking/atomic: Add a litmus test smp_mb__after_atomic() Boqun Feng
2020-02-27 16:38   ` Alan Stern
2020-02-27 15:47 ` [PATCH v3 0/5] Documentation/locking/atomic: Add litmus tests for atomic APIs Paul E. McKenney
2020-02-27 17:54 ` Andrea Parri
2020-02-28  6:12   ` Boqun Feng

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=20200227004049.6853-1-boqun.feng@gmail.com \
    --to=boqun.feng@gmail.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=akiyks@gmail.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=dhowells@redhat.com \
    --cc=dlustig@nvidia.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=j.alglave@ucl.ac.uk \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luc.maranget@inria.fr \
    --cc=mchehab+samsung@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=parri.andrea@gmail.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=robh@kernel.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

Linux-Doc Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-doc/0 linux-doc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-doc linux-doc/ https://lore.kernel.org/linux-doc \
		linux-doc@vger.kernel.org
	public-inbox-index linux-doc

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-doc


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git