From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752389AbdKNH7x (ORCPT ); Tue, 14 Nov 2017 02:59:53 -0500 Received: from bombadil.infradead.org ([65.50.211.133]:53622 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751790AbdKNH7q (ORCPT ); Tue, 14 Nov 2017 02:59:46 -0500 Date: Tue, 14 Nov 2017 08:59:25 +0100 From: Peter Zijlstra To: "Paul E. McKenney" Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will.deacon@arm.com, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, linux-kernel@vger.kernel.org, elena.reshetova@intel.com Subject: Re: Prototype patch for Linux-kernel memory model Message-ID: <20171114075925.apzztfksn4f4y5ue@hirez.programming.kicks-ass.net> References: <20171113184031.GA26302@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171113184031.GA26302@linux.vnet.ibm.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 13, 2017 at 10:40:31AM -0800, Paul E. McKenney wrote: > commit 82a1431549b4eae531e83298fd72cd0acea08540 > Author: Paul E. McKenney > Date: Mon Nov 13 10:30:07 2017 -0800 > > tools: Automate memory-barriers.txt; provide Linux-kernel memory model > > There is some reason to believe that Documentation/memory-barriers.txt > could use some help, and a major purpose of this patch is to provide > that help in the form of a design-time tool that can produce all valid > executions of a small fragment of concurrent Linux-kernel code, which is > called a "litmus test". This tool's functionality is roughly similar to > a full state-space search. Please note that this is a design-time tool, > not useful for regression testing. However, we hope that the underlying > Linux-kernel memory model will be incorporated into other tools capable > of analyzing large bodies of code for regression-testing purposes. > > The main tool is herd7, together with the linux-kernel.bell, > linux-kernel.cat, linux-kernel.cfg, linux-kernel.def, and lock.cat files > added by this patch. The herd7 executable takes the other files as input, > and all of these files collectively define the Linux-kernel memory memory > model. A brief description of each of these other files is provided > in the README file. Although this tool does have its limitations, > which are documented in the README file, it does improve on the version > reported on in the LWN series (https://lwn.net/Articles/718628/ and > https://lwn.net/Articles/720550/) by supporting locking and arithmetic, > including a much wider variety of read-modify-write atomic operations. > Please note that herd7 is not part of this submission, but is freely > available from http://diy.inria.fr/sources/index.html (and via "git" > at https://github.com/herd/herdtools7). > > A second tool is klitmus7, which converts litmus tests to loadable > kernel modules for direct testing. As with herd7, the klitmus7 > code is freely available from http://diy.inria.fr/sources/index.html > (and via "git" at https://github.com/herd/herdtools7). > > Of course, litmus tests are not always the best way to fully understand a > memory model, so this patch also includes Documentation/explanation.txt, > which describes the memory model in detail. In addition, > Documentation/recipes.txt provides example known-good and known-bad use > cases for those who prefer working by example. > > This patch also includes a few sample litmus tests, and a great many > more litmus tests are available at https://github.com/paulmckrcu/litmus. > > Signed-off-by: Alan Stern > Signed-off-by: Andrea Parri > Signed-off-by: Will Deacon > Signed-off-by: Peter Zijlstra > Signed-off-by: Boqun Feng > Signed-off-by: Nicholas Piggin > Signed-off-by: David Howells > Signed-off-by: Jade Alglave > Signed-off-by: Luc Maranget > Signed-off-by: "Paul E. McKenney" > Cc: So I think that SoB chains like that are utter crap. I think you meant to have all but the one from you be an Ack or similar.