Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2087228ybi; Thu, 20 Jun 2019 08:56:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqxvxXqyGfz60GhBIWLwTVfAJmqEGMtpChy0lcT+35YxqVfAFm2SkwIqSfqxJhr0AXY0aKfC X-Received: by 2002:a63:1d10:: with SMTP id d16mr13274673pgd.446.1561046163592; Thu, 20 Jun 2019 08:56:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561046163; cv=none; d=google.com; s=arc-20160816; b=O1iKKzNU593AwEw8+wj9nLVNS/YDX2qlpCilFYVr72z27MRVq9Qgql+dwltvwa92Rt EegIhjcsS5M9DayHz7X367RyT+6tMQ1ItInDgluf/X93rY7aUe7EY4tKdN8iMUj8OPXl uAi3hidivioLZDZG+/vh4clC8IbGQy8EpmaTYHfI5LRSmAFE+vnpaaeyaF+jwO5Artli AVBlf8kOT5J+TuhtFhpGFmcwiuhbG/JQIWn8v8ki3mnR+O3HNXostzmtsaHtsYKwJFZm u1J4pfo+OZ48kwSK4ojA79Pe4gGfDR7qAoWMwcHGsIyHyFD9OshoRC87RLqR5nPJFRUS ry+A== 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=jakJ8K5t5Yro9ys2Ko6ZfhQub0MpooVRCkc3rkcHpAc=; b=s+4NPZ45L1rHBME9XsWeipmOHGpvi6tRqiH/FI2zlYnN9h0ZsN1qpzJ31H2imCgL8J ycnXkKJOzeCE6jJqRZADUtlBtWyWIcWBaTCChYtKP2/HVl4wlxxlIyY7bjGFc+slX+s2 72OhkKxW7F6Oyz9fUh3ZWDFyuamkenIQSAtOFoyzY7n7MqWsTcvEwwFoleFA8qm/Tv3o 9Sfo7J3g+MLQwt9kOxZtvdDy6h0mcqw5wfvB53qAo/NsOf0f9TuLHde/D9Ldbb8Qya/K T1h/J5E+GFK4fq/a0GVV8ydxybwwcna7iP3JSyabVwVBjhjGI8I6cDHz9BxGsh27/Ccp 7iVg== 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 n34si87293pld.202.2019.06.20.08.55.48; Thu, 20 Jun 2019 08:56:03 -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; 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 S1726876AbfFTPzh (ORCPT + 99 others); Thu, 20 Jun 2019 11:55:37 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:44850 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1726551AbfFTPzh (ORCPT ); Thu, 20 Jun 2019 11:55:37 -0400 Received: (qmail 4690 invoked by uid 2102); 20 Jun 2019 11:55:36 -0400 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 20 Jun 2019 11:55:36 -0400 Date: Thu, 20 Jun 2019 11:55:36 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: LKMM Maintainers -- Akira Yokosawa , Andrea Parri , Boqun Feng , Daniel Lustig , David Howells , Jade Alglave , Luc Maranget , Nicholas Piggin , "Paul E. McKenney" , Peter Zijlstra , Will Deacon cc: Kernel development list Subject: [PATCH 1/3] tools: memory-model: Expand definition of barrier 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 Commit 66be4e66a7f4 ("rcu: locking and unlocking need to always be at least barriers") added compiler barriers back into rcu_read_lock() and rcu_read_unlock(). Furthermore, srcu_read_lock() and srcu_read_unlock() have always contained compiler barriers. The Linux Kernel Memory Model ought to know about these barriers. This patch adds them into the memory model. Signed-off-by: Alan Stern --- tools/memory-model/linux-kernel.cat | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: usb-devel/tools/memory-model/linux-kernel.cat =================================================================== --- usb-devel.orig/tools/memory-model/linux-kernel.cat +++ usb-devel/tools/memory-model/linux-kernel.cat @@ -47,7 +47,8 @@ let strong-fence = mb | gp let nonrw-fence = strong-fence | po-rel | acq-po let fence = nonrw-fence | wmb | rmb let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu | - Before-atomic | After-atomic | Acquire | Release) | + Before-atomic | After-atomic | Acquire | Release | + Rcu-lock | Rcu-unlock | Srcu-lock | Srcu-unlock) | (po ; [Release]) | ([Acquire] ; po) (**********************************)