Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751734AbbBRNrP (ORCPT ); Wed, 18 Feb 2015 08:47:15 -0500 Received: from bombadil.infradead.org ([198.137.202.9]:38629 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750851AbbBRNrN (ORCPT ); Wed, 18 Feb 2015 08:47:13 -0500 Date: Wed, 18 Feb 2015 14:47:06 +0100 From: Peter Zijlstra To: "Paul E. McKenney" Cc: Kirill Tkhai , linux-kernel@vger.kernel.org, Ingo Molnar , Josh Poimboeuf , oleg@redhat.com Subject: Re: [PATCH 2/2] [PATCH] sched: Add smp_rmb() in task rq locking cycles Message-ID: <20150218134706.GW5029@twins.programming.kicks-ass.net> References: <20150217104516.12144.85911.stgit@tkhai> <1424170021.5749.22.camel@tkhai> <20150217121258.GM5029@twins.programming.kicks-ass.net> <20150217130523.GV24151@twins.programming.kicks-ass.net> <20150217160532.GW4166@linux.vnet.ibm.com> <20150217183636.GR5029@twins.programming.kicks-ass.net> <20150217215231.GK4166@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150217215231.GK4166@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1980 Lines: 43 On Tue, Feb 17, 2015 at 01:52:31PM -0800, Paul E. McKenney wrote: > I could do a table per communication style. For example, message > passing looks like this (give or take likely errors in the table): > > Side CPU Top CPU > -------- ------- > X = 1; r1 = Y; > > Y = 1; r2 = X; > > assert(r1 == 0 || r2 == 1); > > > | mb | wmb | rmb | rbd | acq | rel | ctl | > -----+-------+-------+-------+-------+-------+-------+-------+ > mb | Y | | Y | y | Y | | Y + > -----+-------+-------+-------+-------+-------+-------+-------+ > wmb | Y | | Y | y | Y | | Y + > -----+-------+-------+-------+-------+-------+-------+-------+ > rmb | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > rbd | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > acq | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > rel | Y | | Y | y | Y | | Y + > -----+-------+-------+-------+-------+-------+-------+-------+ > ctl | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > > Here "Y" says that the barrier pair works, "y" says that it can > work but requires an artificial dependency, and " " says that > it does not work. I would maybe do s/artificial/additional/, the pointer deref in RCU is not really artificial, is it? Also, how many communication styles do you envision to enumerate? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/