Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8224164imu; Thu, 15 Nov 2018 08:21:33 -0800 (PST) X-Google-Smtp-Source: AJdET5eXq7krb8eMdiSkODKKoP15pcSJ93kmkO4CF2lWBr5TxqY+MYUUDoVFiWidL7nz3fKDyqnI X-Received: by 2002:a17:902:24a5:: with SMTP id w34-v6mr6867424pla.91.1542298893091; Thu, 15 Nov 2018 08:21:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542298893; cv=none; d=google.com; s=arc-20160816; b=sC6FputTmKFdrsXqJCtEbwH6D9o9xrL2JFHIfHTlBj5zsqJmcxele/23B8qdpkfYk2 +DA7aGReweIoViJW0KxHQpBR/jUEr3JRzz5U7zJA78tKUpgAky9avvO1g1vbR5kfyinq jv1/OJHhKN763f915ItP3Uv9fhq7ymxGuCxXGwJmgjL211z1IrAkLPvGI5yrUKiyPUq0 X1vcofN3m0AcC6TADJGEUu2rhzBiELOLMxBwapxj4VdjHVlNEbB/RV8Wz3/FI2Q8E1Yw F+0g5Vbe2GPcWUOOoJ3ErZMhdmlreMzufUkAKLtZjuk2nCXT3yfsfbwjGcqv6gEF/bSI 33Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:subject:cc:to :from:date; bh=49MBTQY14RWLZEyHzXiuqio9OFtLaiUNDn7xayx1cOA=; b=Qy92EBgKZePEQDtm8JuUUChUxlw4TpCU8ovo2Ea+QaXaTm/aAlnLCbgnCb47dhKtyv dRwJesnzHV4XD8mJS7rb6LO3gkLb5HQhwT+Fwe+KR8byVk7PnB/oLdlw/O7yu/TxRbqf X5ZGAq7nkSgururf3jIXIqRv9yJNNVsy66ff6vlX9z2LnytbZyRtbieQ54abJfcTTo0X l6lxSE1yjT2dsxEqB+HD36GHnciyjw+pveZDIsHJtTKkCTvoxWqCgdiTYULZlEUzJBws dvN4mRAEtHoGUhM8shE2uCZ6ZPWSaZ4XmCh3qbcJ9e4ys9tnaAnRvtQtJwPnUpdrb5Bw uFJg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n4si8285489pgv.512.2018.11.15.08.20.49; Thu, 15 Nov 2018 08:21:33 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388561AbeKPC1y (ORCPT + 99 others); Thu, 15 Nov 2018 21:27:54 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:43676 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1729034AbeKPC1x (ORCPT ); Thu, 15 Nov 2018 21:27:53 -0500 Received: (qmail 2941 invoked by uid 2102); 15 Nov 2018 11:19:24 -0500 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 15 Nov 2018 11:19:24 -0500 Date: Thu, 15 Nov 2018 11:19:24 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: "Paul E. McKenney" cc: LKMM Maintainers -- Akira Yokosawa , Andrea Parri , Boqun Feng , Daniel Lustig , David Howells , Jade Alglave , Luc Maranget , Nicholas Piggin , Peter Zijlstra , Will Deacon , Kernel development list Subject: [PATCH 0/3] tools/memory-model: Add SRCU support Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Paul and other LKMM maintainers: The following series of patches adds support for SRCU to the Linux Kernel Memory Model. That is, it adds the srcu_read_lock(), srcu_read_unlock(), and synchronize_srcu() primitives to the model. Patch 1/3 does some renaming of the RCU parts of the memory model's existing CAT code, to help distinguish them from the upcoming SRCU parts. Patch 2/3 refactors the definitions of some RCU relations in the CAT code, in a way that the SRCU portions will need. Patch 3/3 actually adds the SRCU support. This new code requires herd7 version 7.51+4(dev) or later (now available in the herdtools7 github repository) to run. Thanks to Luc for making the necessary changes to support SRCU. The code does not check that the index argument passed to srcu_read_unlock() is the same as the value returned by the corresponding srcu_read_lock() call. This is deemed to be a semantic issue, not directly relevant to the memory model. Alan