From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Waiman Long <Waiman.Long@hp.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
David Howells <dhowells@redhat.com>,
Dave Jones <davej@redhat.com>,
Clark Williams <williams@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Davidlohr Bueso <davidlohr.bueso@hp.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"Chandramouleeswaran, Aswin" <aswin@hp.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH RFC 1/3] mutex: Make more scalable by doing less atomic operations
Date: Mon, 8 Apr 2013 17:09:09 +0200 [thread overview]
Message-ID: <20130408150909.GA10885@gmail.com> (raw)
In-Reply-To: <CA+55aFztAtpiGK9e_Ed=Kk4jAWNTahv9OEb0+fgp52Api1s7Mw@mail.gmail.com>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Apr 8, 2013 at 5:42 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > AFAICS the main performance trade-off is the following: when the owner CPU unlocks
> > the mutex, we'll poll it via a read first, which turns the cacheline into
> > shared-read MESI state. Then we notice that its content signals 'lock is
> > available', and we attempt the trylock again.
> >
> > This increases lock latency in the few-contended-tasks case slightly - and we'd
> > like to know by precisely how much, not just for a generic '10-100 users' case
> > which does not tell much about the contention level.
>
> We had this problem for *some* lock where we used a "read + cmpxchg" in the
> hotpath and it caused us problems due to two cacheline state transitions (first
> to shared, then to exclusive). It was faster to just assume it was unlocked and
> try to do an immediate cmpxchg.
>
> But iirc it is a non-issue for this case, because this is only about the
> contended slow path.
>
> I forget where we saw the case where we should *not* read the initial value,
> though. Anybody remember?
I had this vague recollection too - and some digging suggests that it might have
been this discussion on lkml about 3 years ago:
[RFC][PATCH 6/8] mm: handle_speculative_fault()
These numbers PeterZ ran:
http://lkml.indiana.edu/hypermail/linux/kernel/1001.1/00170.html
Appear to show such an effect, on a smaller NUMA system.
( But I'm quite sure it came up somewhere else as well, just cannot place it.
Probabilistic biological search indices are annoying.)
Thanks,
Ingo
next prev parent reply other threads:[~2013-04-08 15:09 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 14:54 [PATCH RFC 0/3] mutex: Improve mutex performance by doing less atomic-ops & spinning Waiman Long
2013-04-04 14:54 ` [PATCH RFC 1/3] mutex: Make more scalable by doing less atomic operations Waiman Long
2013-04-08 12:42 ` Ingo Molnar
2013-04-08 14:38 ` Linus Torvalds
2013-04-08 15:09 ` Ingo Molnar [this message]
2013-04-08 17:53 ` Waiman Long
2013-04-10 10:31 ` Ingo Molnar
2013-04-10 15:52 ` Waiman Long
2013-04-10 17:16 ` Ingo Molnar
2013-04-10 21:26 ` Waiman Long
2013-04-11 9:07 ` Ingo Molnar
2013-04-10 14:09 ` Robin Holt
2013-04-10 15:46 ` Linus Torvalds
2013-04-08 17:42 ` Waiman Long
2013-04-10 10:28 ` Ingo Molnar
2013-04-10 15:47 ` Waiman Long
2013-04-04 14:54 ` [PATCH RFC 2/3] mutex: restrict mutex spinning to only one task per mutex Waiman Long
2013-04-04 14:54 ` [PATCH RFC 3/3] mutex: dynamically disable mutex spinning at high load Waiman Long
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=20130408150909.GA10885@gmail.com \
--to=mingo@kernel.org \
--cc=Waiman.Long@hp.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=aswin@hp.com \
--cc=davej@redhat.com \
--cc=davidlohr.bueso@hp.com \
--cc=dhowells@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=williams@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome