Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1262399ybb; Wed, 25 Mar 2020 19:42:08 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuCywv+sJbAomTQ87sJq7EoUxlipG9wD6nyWIiV5wa6TiLYOPMKq8joRPjqbGdxWth2zFOG X-Received: by 2002:a9d:7a8:: with SMTP id 37mr4984216oto.209.1585190528375; Wed, 25 Mar 2020 19:42:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585190528; cv=none; d=google.com; s=arc-20160816; b=F/p56jZZF7ea34ynjzWvHGe361/p4kW7XHFk8N9IKQBbG/3IKh4Z+GwdYyWBmtJOk4 ncZR6rzNSCyPmR7isYE9lvBnhEH1jYXGhPXaMA9qrpb2/cjlgHWapjzMbFo05r2XBkM4 YuDoPEaRNlariKgqUurGPh/378YvEtzjBmtfJeu4gXKsvozPLOszTnFMLprvWseMZT6j xIAqJfpZS6WPWjvH5li4QZR10AsJ7f/gdXVoyfbU0/2NkoWJ/2Ha7dRB4F5Nwme3O68D 0da8GKS+Lkmf5ihSaO5iE3GQoOp23vXzAKqXoaZZbKnrIghCQxdiMOIpNh00likm41Kx 4LEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=idGta4luNVSKS6GW2+ESu4EKkWBs8WP4Ue5RLpisqic=; b=x6ZKb3F3HBIpKDgEYSgVmTNhKxORil8WTPUdET9KibrbIwfuvk1G1KMcrFE2OVBxJQ nsqxd2CJm9XiSe05hU513SYNAaXLXJCC3vRbqx7DML11Mg2Rof/VAB4WWVi62WwiD3o2 /XBgMRslktrHPyaMjAFbnRsUT1UwAcPtegUaKVIrSDBqzNPqoDFy3R1EVGAzERLbzAus BaTAlfSg4RGwJYlcFpvS6yr/v9+jYX5uwDPFMt+gxVdax6e6rIzMaoF4tT2vZj+D0206 EDpNFKhIy6pvutc4ymRhWQzfSlvB8GMk3nXowdKnkd5WFOqToM5UkmX/ub/aXUiNWQ78 RIig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=s58FkVK2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l5si438737oic.3.2020.03.25.19.41.55; Wed, 25 Mar 2020 19:42:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=s58FkVK2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727752AbgCZCks (ORCPT + 99 others); Wed, 25 Mar 2020 22:40:48 -0400 Received: from mail-qv1-f65.google.com ([209.85.219.65]:44999 "EHLO mail-qv1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727560AbgCZCks (ORCPT ); Wed, 25 Mar 2020 22:40:48 -0400 Received: by mail-qv1-f65.google.com with SMTP id ef12so191815qvb.11; Wed, 25 Mar 2020 19:40:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=idGta4luNVSKS6GW2+ESu4EKkWBs8WP4Ue5RLpisqic=; b=s58FkVK2VS5nIUEpx35Dg+XpAtamo8rZb+W7VG0G/DfjqjVvXf7y/UecHk/tLag54N vf5IVrJhKPMQRau3Dr/COlsOVXtXxcoBfRLv0HlxwvE3icS7lil46z1vahQz9GDaafPS ak4W7KtRR0fS5oRTsfHO9+BI0ofWOm0YuSYs/pRvjpDPwVGAKvXiJ25ZcyJPZDrCiIeM xCx/gcH9VtBJWU+ahIaNsQvA3KEpOii8p0iUOvyc5gRUWHzG7cpf3M5xpMyyHRdu3xyx 2/QU3KYVzFeV87lbYwtX51BaieZIfyVCWmnoR+jHabH/MFhzUz2lt37DLgDCcWBDwqru L4LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=idGta4luNVSKS6GW2+ESu4EKkWBs8WP4Ue5RLpisqic=; b=PfOfe6uvsgOue+ozZGHYVtkFfDccbQt/b0e6g9ma/4LxY/p/q2GxZse8ThR+wpvpt7 tPNSY5jhbSsKF6qAOl0cbVkNmNRAL6QW2VZnMCgu83jarhv9rng/SLNKcjlVz5XNar0S vnsi73vRXC+/q9j9HiRCpMQdts3OUysWCplgHC1STYdx1czKXpRQ+Okvkp9VNFM/Jnbs MJTYeLROIucizw6XzJDjyfVf++C4hzxztfNQKFXWaZ9lJ+RFWyvC224vmsD2hU2TulGY bnyOFHqHQPplxvrzMSj7kp+ygaeYWakZp5vKdJG5BYillhIRdIpC2gaItDbsY9OLujI5 8z1w== X-Gm-Message-State: ANhLgQ38WmO8J5ea98IvLOmkUkRJDctM8TORAIuzN2WQAO5t4BFQ1yQ0 z/hdh/oaFxNXNR+OX8rFNV8= X-Received: by 2002:a05:6214:205:: with SMTP id i5mr6096054qvt.223.1585190446959; Wed, 25 Mar 2020 19:40:46 -0700 (PDT) Received: from auth1-smtp.messagingengine.com (auth1-smtp.messagingengine.com. [66.111.4.227]) by smtp.gmail.com with ESMTPSA id l45sm707146qtb.8.2020.03.25.19.40.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Mar 2020 19:40:46 -0700 (PDT) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailauth.nyi.internal (Postfix) with ESMTP id 6617127C0054; Wed, 25 Mar 2020 22:40:45 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 25 Mar 2020 22:40:45 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudehhedggeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeeuohhquhhnucfh vghnghcuoegsohhquhhnrdhfvghnghesghhmrghilhdrtghomheqnecuffhomhgrihhnpe hkvghrnhgvlhdrohhrghdpihhnrhhirgdrfhhrnecukfhppeehvddrudehhedrudduuddr jedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsg hoqhhunhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqieelvdeghedtieeg qddujeejkeehheehvddqsghoqhhunhdrfhgvnhhgpeepghhmrghilhdrtghomhesfhhigi hmvgdrnhgrmhgv X-ME-Proxy: Received: from localhost (unknown [52.155.111.71]) by mail.messagingengine.com (Postfix) with ESMTPA id 24BC33280063; Wed, 25 Mar 2020 22:40:42 -0400 (EDT) From: Boqun Feng To: linux-kernel@vger.kernel.org Cc: Alan Stern , Andrea Parri , Will Deacon , Peter Zijlstra , Boqun Feng , Nicholas Piggin , David Howells , Jade Alglave , Luc Maranget , "Paul E. McKenney" , Akira Yokosawa , Daniel Lustig , Jonathan Corbet , Mauro Carvalho Chehab , "David S. Miller" , Rob Herring , Greg Kroah-Hartman , Jonathan Cameron , Joel Fernandes , linux-arch@vger.kernel.org, linux-doc@vger.kernel.org Subject: [PATCH v4 0/4] Documentation/litmus-tests: Add litmus tests for atomic APIs Date: Thu, 26 Mar 2020 10:40:18 +0800 Message-Id: <20200326024022.7566-1-boqun.feng@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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/ v3: https://lore.kernel.org/linux-doc/20200227004049.6853-1-boqun.feng@gmail.com/ Changes since v3: * Merge two patches on atomic-set litmus test into one as per Alan. (Alan, you have acked only one of the two patches, so I don't add you acked-by for the combined patch). * Move the atomic litmus tests into litmus-tests/atomic to align with Joel's recent patches on RCU litmus tests. I think we still haven't reach to a conclusion for the difference of atomic_add_unless() in herdtools, and I'm currently reading the source code of herd to resovle this. This is just an updated version to resolve ealier comments and react on Joel's RCU litmus tests. Regards, Boqun [1]: http://diy.inria.fr/doc/litmus.html#klitmus Boqun Feng (4): tools/memory-model: Add an exception for limitations on _unless() family Documentation/litmus-tests: Introduce atomic directory Documentation/litmus-tests/atomic: Add a test for atomic_set() Documentation/litmus-tests/atomic: Add a test for smp_mb__after_atomic() Documentation/atomic_t.txt | 24 +++++++------- ...ter_atomic-is-stronger-than-acquire.litmus | 32 +++++++++++++++++++ ...c-RMW-ops-are-atomic-WRT-atomic_set.litmus | 24 ++++++++++++++ Documentation/litmus-tests/atomic/README | 16 ++++++++++ tools/memory-model/README | 10 ++++-- 5 files changed, 91 insertions(+), 15 deletions(-) create mode 100644 Documentation/litmus-tests/atomic/Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus create mode 100644 Documentation/litmus-tests/atomic/Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus create mode 100644 Documentation/litmus-tests/atomic/README -- 2.25.1