Re: [PATCH v3 0/5] Documentation/locking/atomic: Add litmus tests for atomic APIs

From: Boqun Feng
Date: Fri Feb 28 2020 - 01:12:43 EST


On Thu, Feb 27, 2020 at 06:54:41PM +0100, Andrea Parri wrote:
> On Thu, Feb 27, 2020 at 08:40:44AM +0800, Boqun Feng wrote:
> > A recent discussion raises up the requirement for having test cases for
> > atomic APIs:
> >
> > https://lore.kernel.org/lkml/20200213085849.GL14897@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> >
> > , 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@xxxxxxxxx/
> > v2: https://lore.kernel.org/lkml/20200219062627.104736-1-boqun.feng@xxxxxxxxx/
> >
> > 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!
>
> A few nits (see inline), but otherwise the series looks good to me;
> with those fixed, please feel free to add:
>
> Acked-by: Andrea Parri <parri.andrea@xxxxxxxxx>
>

Thank you and Alan! I will fix those in the next version.

Regards,
Boqun

> to the entire series.
>
> Thanks,
> Andrea
>
>
> >
> > 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
> >