From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will.deacon@arm.com>,
Tim Chen <tim.c.chen@linux.intel.com>,
Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Waiman Long <waiman.long@hp.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Alex Shi <alex.shi@linaro.org>, Andi Kleen <andi@firstfloor.org>,
Michel Lespinasse <walken@google.com>,
Davidlohr Bueso <davidlohr.bueso@hp.com>,
Matthew R Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@intel.com>,
Rik van Riel <riel@redhat.com>,
Peter Hurley <peter@hurleysoftware.com>,
Raghavendra
Subject: Re: [PATCH v6 4/5] MCS Lock: Barrier corrections
Date: Mon, 25 Nov 2013 15:52:52 -0800 [thread overview]
Message-ID: <20131125235252.GA4138@linux.vnet.ibm.com> (raw)
In-Reply-To: <20131125182715.GG10022@twins.programming.kicks-ass.net>
On Mon, Nov 25, 2013 at 07:27:15PM +0100, Peter Zijlstra wrote:
> On Mon, Nov 25, 2013 at 10:02:50AM -0800, Paul E. McKenney wrote:
> > And if the two locks are different, then the guarantee applies only
> > when the unlock and lock are on the same CPU, in which case, as Linus
> > noted, the xchg() on entry to the slow path does the job for use.
>
> But in that case we rely on the fact that the thing is part of a
> composite and we should no longer call it load_acquire, because frankly
> it doesn't have acquire semantics anymore because the read can escape
> out.
Actually, load-acquire and store-release are only required to provide
ordering in the threads/CPUs doing the load-acquire/store-release
operations. It is just that we require something stronger than minimal
load-acquire/store-release to make a Linux-kernel lock.
Thanx, Paul
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will.deacon@arm.com>,
Tim Chen <tim.c.chen@linux.intel.com>,
Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Waiman Long <waiman.long@hp.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Alex Shi <alex.shi@linaro.org>, Andi Kleen <andi@firstfloor.org>,
Michel Lespinasse <walken@google.com>,
Davidlohr Bueso <davidlohr.bueso@hp.com>,
Matthew R Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@intel.com>,
Rik van Riel <riel@redhat.com>,
Peter Hurley <peter@hurleysoftware.com>,
Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
George Spelvin <linux@horizon.com>,
"H. Peter Anvin" <hpa@zytor.com>, Arnd Bergmann <arnd@arndb.de>,
Aswin Chandramouleeswaran <aswin@hp.com>,
Scott J Norton <scott.norton@hp.com>,
"Figo.zhang" <figo1802@gmail.com>
Subject: Re: [PATCH v6 4/5] MCS Lock: Barrier corrections
Date: Mon, 25 Nov 2013 15:52:52 -0800 [thread overview]
Message-ID: <20131125235252.GA4138@linux.vnet.ibm.com> (raw)
In-Reply-To: <20131125182715.GG10022@twins.programming.kicks-ass.net>
On Mon, Nov 25, 2013 at 07:27:15PM +0100, Peter Zijlstra wrote:
> On Mon, Nov 25, 2013 at 10:02:50AM -0800, Paul E. McKenney wrote:
> > And if the two locks are different, then the guarantee applies only
> > when the unlock and lock are on the same CPU, in which case, as Linus
> > noted, the xchg() on entry to the slow path does the job for use.
>
> But in that case we rely on the fact that the thing is part of a
> composite and we should no longer call it load_acquire, because frankly
> it doesn't have acquire semantics anymore because the read can escape
> out.
Actually, load-acquire and store-release are only required to provide
ordering in the threads/CPUs doing the load-acquire/store-release
operations. It is just that we require something stronger than minimal
load-acquire/store-release to make a Linux-kernel lock.
Thanx, Paul
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-11-25 23:52 UTC|newest]
Thread overview: 239+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1384885312.git.tim.c.chen@linux.intel.com>
2013-11-20 1:37 ` [PATCH v6 0/5] MCS Lock: MCS lock code cleanup and optimizations Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 10:19 ` Will Deacon
2013-11-20 10:19 ` Will Deacon
2013-11-20 12:50 ` Paul E. McKenney
2013-11-20 12:50 ` Paul E. McKenney
2013-11-20 17:00 ` Will Deacon
2013-11-20 17:00 ` Will Deacon
2013-11-20 17:14 ` Paul E. McKenney
2013-11-20 17:14 ` Paul E. McKenney
2013-11-20 17:00 ` Tim Chen
2013-11-20 17:00 ` Tim Chen
2013-11-20 17:16 ` Paul E. McKenney
2013-11-20 17:16 ` Paul E. McKenney
2013-11-20 1:37 ` [PATCH v6 1/5] MCS Lock: Restructure the MCS lock defines and locking code into its own file Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` [PATCH v6 2/5] MCS Lock: optimizations and extra comments Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` [PATCH v6 3/5] MCS Lock: Move mcs_lock/unlock function into its own file Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` [PATCH v6 4/5] MCS Lock: Barrier corrections Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 15:31 ` Paul E. McKenney
2013-11-20 15:31 ` Paul E. McKenney
2013-11-20 15:31 ` Paul E. McKenney
2013-11-20 15:46 ` Will Deacon
2013-11-20 15:46 ` Will Deacon
2013-11-20 17:14 ` Paul E. McKenney
2013-11-20 17:14 ` Paul E. McKenney
2013-11-20 18:43 ` Tim Chen
2013-11-20 18:43 ` Tim Chen
2013-11-20 19:06 ` Paul E. McKenney
2013-11-20 19:06 ` Paul E. McKenney
2013-11-20 20:36 ` Tim Chen
2013-11-20 20:36 ` Tim Chen
2013-11-20 21:44 ` Paul E. McKenney
2013-11-20 21:44 ` Paul E. McKenney
2013-11-20 23:51 ` Tim Chen
2013-11-20 23:51 ` Tim Chen
2013-11-21 4:53 ` Paul E. McKenney
2013-11-21 4:53 ` Paul E. McKenney
2013-11-21 10:17 ` Will Deacon
2013-11-21 10:17 ` Will Deacon
2013-11-21 13:16 ` Paul E. McKenney
2013-11-21 13:16 ` Paul E. McKenney
2013-11-21 10:45 ` Peter Zijlstra
2013-11-21 10:45 ` Peter Zijlstra
2013-11-21 13:18 ` Paul E. McKenney
2013-11-21 13:18 ` Paul E. McKenney
2013-11-21 22:27 ` Linus Torvalds
2013-11-21 22:27 ` Linus Torvalds
2013-11-21 22:52 ` Paul E. McKenney
2013-11-21 22:52 ` Paul E. McKenney
2013-11-22 0:09 ` Linus Torvalds
2013-11-22 0:09 ` Linus Torvalds
2013-11-22 4:08 ` Paul E. McKenney
2013-11-22 4:08 ` Paul E. McKenney
2013-11-22 4:25 ` Linus Torvalds
2013-11-22 4:25 ` Linus Torvalds
2013-11-22 6:23 ` Paul E. McKenney
2013-11-22 6:23 ` Paul E. McKenney
2013-11-22 15:16 ` Ingo Molnar
2013-11-22 15:16 ` Ingo Molnar
2013-11-22 18:49 ` Paul E. McKenney
2013-11-22 18:49 ` Paul E. McKenney
2013-11-22 19:06 ` Linus Torvalds
2013-11-22 19:06 ` Linus Torvalds
2013-11-22 20:06 ` Paul E. McKenney
2013-11-22 20:06 ` Paul E. McKenney
2013-11-22 20:09 ` Linus Torvalds
2013-11-22 20:09 ` Linus Torvalds
2013-11-22 20:37 ` Paul E. McKenney
2013-11-22 20:37 ` Paul E. McKenney
2013-11-22 21:01 ` Linus Torvalds
2013-11-22 21:01 ` Linus Torvalds
2013-11-22 21:52 ` Paul E. McKenney
2013-11-22 21:52 ` Paul E. McKenney
2013-11-22 22:19 ` Linus Torvalds
2013-11-22 22:19 ` Linus Torvalds
2013-11-23 0:25 ` Paul E. McKenney
2013-11-23 0:25 ` Paul E. McKenney
2013-11-23 0:42 ` Linus Torvalds
2013-11-23 0:42 ` Linus Torvalds
2013-11-23 1:36 ` Paul E. McKenney
2013-11-23 1:36 ` Paul E. McKenney
2013-11-23 2:11 ` Linus Torvalds
2013-11-23 2:11 ` Linus Torvalds
2013-11-23 4:05 ` Paul E. McKenney
2013-11-23 4:05 ` Paul E. McKenney
2013-11-23 11:24 ` Ingo Molnar
2013-11-23 11:24 ` Ingo Molnar
2013-11-23 17:06 ` Paul E. McKenney
2013-11-23 17:06 ` Paul E. McKenney
2013-11-26 12:02 ` Ingo Molnar
2013-11-26 12:02 ` Ingo Molnar
2013-11-26 19:28 ` Paul E. McKenney
2013-11-26 19:28 ` Paul E. McKenney
2013-11-23 20:21 ` Linus Torvalds
2013-11-23 20:21 ` Linus Torvalds
2013-11-23 20:39 ` Linus Torvalds
2013-11-23 20:39 ` Linus Torvalds
2013-11-25 12:09 ` Peter Zijlstra
2013-11-25 12:09 ` Peter Zijlstra
2013-11-25 17:18 ` Will Deacon
2013-11-25 17:18 ` Will Deacon
2013-11-25 17:56 ` Paul E. McKenney
2013-11-25 17:56 ` Paul E. McKenney
2013-11-25 17:54 ` Paul E. McKenney
2013-11-25 17:54 ` Paul E. McKenney
2013-11-23 21:29 ` Peter Zijlstra
2013-11-23 21:29 ` Peter Zijlstra
2013-11-23 22:24 ` Linus Torvalds
2013-11-23 22:24 ` Linus Torvalds
2013-11-25 17:53 ` Paul E. McKenney
2013-11-25 17:53 ` Paul E. McKenney
2013-11-25 18:21 ` Peter Zijlstra
2013-11-25 18:21 ` Peter Zijlstra
2013-11-21 11:03 ` Peter Zijlstra
2013-11-21 11:03 ` Peter Zijlstra
2013-11-21 12:56 ` Peter Zijlstra
2013-11-21 12:56 ` Peter Zijlstra
2013-11-21 13:20 ` Paul E. McKenney
2013-11-21 13:20 ` Paul E. McKenney
2013-11-21 17:25 ` Paul E. McKenney
2013-11-21 17:25 ` Paul E. McKenney
2013-11-21 21:52 ` Peter Zijlstra
2013-11-21 21:52 ` Peter Zijlstra
2013-11-21 22:18 ` Paul E. McKenney
2013-11-21 22:18 ` Paul E. McKenney
2013-11-22 15:58 ` Peter Zijlstra
2013-11-22 15:58 ` Peter Zijlstra
2013-11-22 18:26 ` Paul E. McKenney
2013-11-22 18:26 ` Paul E. McKenney
2013-11-22 18:51 ` Peter Zijlstra
2013-11-22 18:51 ` Peter Zijlstra
2013-11-22 18:59 ` Paul E. McKenney
2013-11-22 18:59 ` Paul E. McKenney
2013-11-25 17:35 ` Peter Zijlstra
2013-11-25 17:35 ` Peter Zijlstra
2013-11-25 18:02 ` Paul E. McKenney
2013-11-25 18:02 ` Paul E. McKenney
2013-11-25 18:24 ` Peter Zijlstra
2013-11-25 18:24 ` Peter Zijlstra
2013-11-25 18:34 ` Tim Chen
2013-11-25 18:34 ` Tim Chen
2013-11-25 18:27 ` Peter Zijlstra
2013-11-25 18:27 ` Peter Zijlstra
2013-11-25 23:52 ` Paul E. McKenney [this message]
2013-11-25 23:52 ` Paul E. McKenney
2013-11-26 9:59 ` Peter Zijlstra
2013-11-26 9:59 ` Peter Zijlstra
2013-11-26 17:11 ` Paul E. McKenney
2013-11-26 17:11 ` Paul E. McKenney
2013-11-26 17:18 ` Peter Zijlstra
2013-11-26 17:18 ` Peter Zijlstra
2013-11-26 19:00 ` Linus Torvalds
2013-11-26 19:00 ` Linus Torvalds
2013-11-26 19:20 ` Paul E. McKenney
2013-11-26 19:20 ` Paul E. McKenney
2013-11-26 19:32 ` Linus Torvalds
2013-11-26 19:32 ` Linus Torvalds
2013-11-26 22:51 ` Paul E. McKenney
2013-11-26 22:51 ` Paul E. McKenney
2013-11-26 23:58 ` Linus Torvalds
2013-11-26 23:58 ` Linus Torvalds
2013-11-27 0:21 ` Thomas Gleixner
2013-11-27 0:21 ` Thomas Gleixner
2013-11-27 0:39 ` Paul E. McKenney
2013-11-27 0:39 ` Paul E. McKenney
2013-11-27 1:05 ` Linus Torvalds
2013-11-27 1:05 ` Linus Torvalds
2013-11-27 1:31 ` Paul E. McKenney
2013-11-27 1:31 ` Paul E. McKenney
2013-11-27 10:16 ` Will Deacon
2013-11-27 10:16 ` Will Deacon
2013-11-27 17:11 ` Paul E. McKenney
2013-11-27 17:11 ` Paul E. McKenney
2013-11-28 11:40 ` Will Deacon
2013-11-28 11:40 ` Will Deacon
2013-11-28 17:38 ` Paul E. McKenney
2013-11-28 17:38 ` Paul E. McKenney
2013-11-28 18:03 ` Will Deacon
2013-11-28 18:03 ` Will Deacon
2013-11-28 18:27 ` Paul E. McKenney
2013-11-28 18:27 ` Paul E. McKenney
2013-11-28 18:53 ` Will Deacon
2013-11-28 18:53 ` Will Deacon
2013-11-28 19:50 ` Paul E. McKenney
2013-11-28 19:50 ` Paul E. McKenney
2013-11-29 16:17 ` Will Deacon
2013-11-29 16:17 ` Will Deacon
2013-11-29 16:44 ` Linus Torvalds
2013-11-29 16:44 ` Linus Torvalds
2013-11-29 18:18 ` Will Deacon
2013-11-29 18:18 ` Will Deacon
2013-11-30 17:38 ` Paul E. McKenney
2013-11-30 17:38 ` Paul E. McKenney
2013-11-26 19:21 ` Peter Zijlstra
2013-11-26 19:21 ` Peter Zijlstra
2013-11-27 16:58 ` Oleg Nesterov
2013-11-27 16:58 ` Oleg Nesterov
2013-11-26 23:08 ` Benjamin Herrenschmidt
2013-11-26 23:08 ` Benjamin Herrenschmidt
2013-11-25 23:55 ` H. Peter Anvin
2013-11-25 23:55 ` H. Peter Anvin
2013-11-26 3:16 ` Paul E. McKenney
2013-11-26 3:16 ` Paul E. McKenney
2013-11-27 0:46 ` H. Peter Anvin
2013-11-27 0:46 ` H. Peter Anvin
2013-11-27 1:07 ` Linus Torvalds
2013-11-27 1:07 ` Linus Torvalds
2013-11-27 1:27 ` Paul E. McKenney
2013-11-27 1:27 ` Paul E. McKenney
2013-11-27 2:59 ` H. Peter Anvin
2013-11-27 2:59 ` H. Peter Anvin
2013-11-25 18:52 ` H. Peter Anvin
2013-11-25 18:52 ` H. Peter Anvin
2013-11-25 22:58 ` Tim Chen
2013-11-25 22:58 ` Tim Chen
2013-11-25 23:28 ` H. Peter Anvin
2013-11-25 23:28 ` H. Peter Anvin
2013-11-25 23:51 ` Paul E. McKenney
2013-11-25 23:51 ` Paul E. McKenney
2013-11-25 23:36 ` Paul E. McKenney
2013-11-25 23:36 ` Paul E. McKenney
2013-12-04 21:26 ` Andi Kleen
2013-12-04 21:26 ` Andi Kleen
2013-12-04 22:07 ` Paul E. McKenney
2013-12-04 22:07 ` Paul E. McKenney
2013-11-21 13:19 ` Paul E. McKenney
2013-11-21 13:19 ` Paul E. McKenney
2013-11-20 1:37 ` [PATCH v6 5/5] MCS Lock: Allows for architecture specific mcs lock and unlock Tim Chen
2013-11-20 1:37 ` Tim Chen
2013-11-20 1:37 ` Tim Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131125235252.GA4138@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=alex.shi@linaro.org \
--cc=andi@firstfloor.org \
--cc=dave.hansen@intel.com \
--cc=davidlohr.bueso@hp.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=matthew.r.wilcox@intel.com \
--cc=mingo@elte.hu \
--cc=peter@hurleysoftware.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
--cc=tim.c.chen@linux.intel.com \
--cc=torvalds@linux-foundation.org \
--cc=waiman.long@hp.com \
--cc=walken@google.com \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.