From patchwork Thu Aug 30 18:56:25 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 11100 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 5400523F70 for ; Thu, 30 Aug 2012 21:43:41 +0000 (UTC) Received: from mail-iy0-f180.google.com (mail-iy0-f180.google.com [209.85.210.180]) by fiordland.canonical.com (Postfix) with ESMTP id A1F4BA192FD for ; Thu, 30 Aug 2012 21:43:04 +0000 (UTC) Received: by iafj25 with SMTP id j25so3726592iaf.11 for ; Thu, 30 Aug 2012 14:43:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to:cc :subject:date:message-id:x-mailer:in-reply-to:references :x-content-scanned:x-cbid:x-gm-message-state; bh=mD9fUTbKdNZC4luT4K5K01DAWKLqnFuIy+qb6Z62rTE=; b=LigMzAxUds0zZCvo/De5Lnd+QTtllsdiomzGOlUsi9BsMPrb/LSjeElDWowYtQNiNX GWNhaE+fy8eaHaXFYvE/TIGIm3y4KZ+YzWW7S1xmxLwXqrHivsGPMi9QZss1MyvynLwG YtMKvklmGgBKHQ6QYuVuEYRtypuZPhpUYFitOxVaw3Yp6zLmVzroklX3yG4tyOkpGWOK 15ebhoHrlliBv0TRk0ZxG57tHPgfZlNjtgjY9qzmtkMmOTbmqXS6y5QhOKRcDLckZzBx Y4dMn2Ge+EPxRfLG2HfYRdCNO+US7+buxlg6AixI5bW0GjOEU36fERH5y1CgtaPc1qsG 5OLg== Received: by 10.50.45.162 with SMTP id o2mr2627504igm.0.1346363020414; Thu, 30 Aug 2012 14:43:40 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.50.184.232 with SMTP id ex8csp32853igc; Thu, 30 Aug 2012 14:43:39 -0700 (PDT) Received: by 10.182.31.102 with SMTP id z6mr6122463obh.66.1346363018914; Thu, 30 Aug 2012 14:43:38 -0700 (PDT) Received: from e31.co.us.ibm.com (e31.co.us.ibm.com. [32.97.110.149]) by mx.google.com with ESMTPS id f7si3530216obd.208.2012.08.30.14.43.38 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 30 Aug 2012 14:43:38 -0700 (PDT) Received-SPF: pass (google.com: domain of paulmck@linux.vnet.ibm.com designates 32.97.110.149 as permitted sender) client-ip=32.97.110.149; Authentication-Results: mx.google.com; spf=pass (google.com: domain of paulmck@linux.vnet.ibm.com designates 32.97.110.149 as permitted sender) smtp.mail=paulmck@linux.vnet.ibm.com Received: from /spool/local by e31.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 30 Aug 2012 15:43:38 -0600 Received: from d03dlp02.boulder.ibm.com (9.17.202.178) by e31.co.us.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 30 Aug 2012 15:43:36 -0600 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by d03dlp02.boulder.ibm.com (Postfix) with ESMTP id 24E573E40052; Thu, 30 Aug 2012 15:43:35 -0600 (MDT) Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q7ULhYMF157894; Thu, 30 Aug 2012 15:43:34 -0600 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q7ULhX1i026387; Thu, 30 Aug 2012 15:43:34 -0600 Received: from paulmck-ThinkPad-W500 (sig-9-65-153-225.mts.ibm.com [9.65.153.225]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id q7ULhWq1026340; Thu, 30 Aug 2012 15:43:33 -0600 Received: by paulmck-ThinkPad-W500 (Postfix, from userid 1000) id 85062EA833; Thu, 30 Aug 2012 11:56:31 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org Cc: mingo@elte.hu, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca, josh@joshtriplett.org, niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, Valdis.Kletnieks@vt.edu, dhowells@redhat.com, eric.dumazet@gmail.com, darren@dvhart.com, fweisbec@gmail.com, sbw@mit.edu, patches@linaro.org, "Paul E. McKenney" , "Paul E. McKenney" Subject: [PATCH tip/core/rcu 12/15] rcu: Remove redundant memory barrier from __call_rcu() Date: Thu, 30 Aug 2012 11:56:25 -0700 Message-Id: <1346352988-32444-12-git-send-email-paulmck@linux.vnet.ibm.com> X-Mailer: git-send-email 1.7.8 In-Reply-To: <1346352988-32444-1-git-send-email-paulmck@linux.vnet.ibm.com> References: <20120830185607.GA32148@linux.vnet.ibm.com> <1346352988-32444-1-git-send-email-paulmck@linux.vnet.ibm.com> X-Content-Scanned: Fidelis XPS MAILER x-cbid: 12083021-7282-0000-0000-00000C769FCE X-Gm-Message-State: ALoCoQlmbvw0vhi+LZ49Ws/bA3NvGqPBWp51/ulo+Gxe/AyHV6EufLzYAvZH1BTSviWSLasNcjz6 From: "Paul E. McKenney" The first memory barrier in __call_rcu() is supposed to order any updates done beforehand by the caller against the actual queuing of the callback. However, the second memory barrier (which is intended to order incrementing the queue lengths before queuing the callback) is also between the caller's updates and the queuing of the callback. The second memory barrier can therefore serve both purposes. This commit therefore removes the first memory barrier. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett --- kernel/rcutree.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/kernel/rcutree.c b/kernel/rcutree.c index e58097b..5b6709b 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c @@ -1923,8 +1923,6 @@ __call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu), head->func = func; head->next = NULL; - smp_mb(); /* Ensure RCU update seen before callback registry. */ - /* * Opportunistically note grace-period endings and beginnings. * Note that we might see a beginning right after we see an