From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Mike Galbraith <umgwanakikbuti@gmail.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] futex: lower the lock contention on the HB lock during wake up
Date: Wed, 17 Jun 2015 16:28:11 +0200 [thread overview]
Message-ID: <558183FB.7060808@linutronix.de> (raw)
In-Reply-To: <1434550624.23509.18.camel@gmail.com>
On 06/17/2015 04:17 PM, Mike Galbraith wrote:
> On Wed, 2015-06-17 at 10:33 +0200, Sebastian Andrzej Siewior wrote:
>> wake_futex_pi() wakes the task before releasing the hash bucket lock
>> (HB). The first thing the woken up task usually does is to acquire the
>> lock which requires the HB lock. On SMP Systems this leads to blocking
>> on the HB lock which is released by the owner shortly after.
>> This patch rearranges the unlock path by first releasing the HB lock and
>> then waking up the task.
>>
>> [bigeasy: redo ontop of lockless wake-queues]
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
>
> 4.1-rc8-rt4 contains this via 4.0-rt4, and seems fine on my 64 core
> DL980. I ran a few iterations of futextests and stockfish, then mixed
> two loops of futextest at different rt prios, with stockfish also rt,
> and ltplight as tossed in as... crack filler. Box is still doing that,
> is way too busy, but not griping about it.
There are two patches mostly doing the same thing. The patch posted
here is a redo ontop of "lockless wake-queues". It does hb-unlock,
wakeup, de-boost. The patch merged into -RT is the original approach
not using "lockless wake-queues" and performing wakeup, hb-unlock,
de-boost.
I plan to get into -RT the final solution once it hits upstream.
>
> -Mike
>
Sebastian
next prev parent reply other threads:[~2015-06-17 14:28 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-19 17:24 [PATCH -tip 0/4] rtmutex: Spin on owner Davidlohr Bueso
2015-05-19 17:24 ` [PATCH 1/4] locking/rtmutex: Implement lockless top-waiter wakeup Davidlohr Bueso
2015-06-05 12:35 ` Thomas Gleixner
2015-06-16 19:29 ` [PATCH] futex: lower the lock contention on the HB lock during wake up Sebastian Andrzej Siewior
2015-06-16 19:50 ` Davidlohr Bueso
2015-06-17 8:33 ` [PATCH v2] " Sebastian Andrzej Siewior
2015-06-17 14:17 ` Mike Galbraith
2015-06-17 14:28 ` Sebastian Andrzej Siewior [this message]
2015-06-17 14:31 ` Mike Galbraith
2015-06-21 4:35 ` Mike Galbraith
2015-06-18 20:30 ` [tip:sched/core] futex: Lower " tip-bot for Sebastian Andrzej Siewior
2015-06-19 17:51 ` [PATCH v2] futex: lower " Kevin Hilman
2015-06-19 17:51 ` Kevin Hilman
2015-06-19 18:54 ` Thomas Gleixner
2015-06-19 18:54 ` Thomas Gleixner
2015-06-19 19:32 ` Kevin Hilman
2015-06-19 19:32 ` Kevin Hilman
2015-06-19 19:33 ` [tip:sched/locking] futex: Lower " tip-bot for Sebastian Andrzej Siewior
2015-06-18 20:30 ` [tip:sched/core] locking/rtmutex: Implement lockless top-waiter wakeup tip-bot for Davidlohr Bueso
2015-05-19 17:24 ` [PATCH 2/4] locking/rtmutex: Use cmp-cmpxchg Davidlohr Bueso
2015-06-05 12:38 ` Thomas Gleixner
2015-06-06 15:27 ` Davidlohr Bueso
2015-06-15 18:34 ` Jason Low
2015-06-15 19:37 ` Davidlohr Bueso
2015-06-16 1:00 ` Jason Low
2015-05-19 17:24 ` [PATCH 3/4] locking/rtmutex: Update stale plist comments Davidlohr Bueso
2015-06-05 12:39 ` Thomas Gleixner
2015-06-18 20:57 ` [tip:sched/core] " tip-bot for Davidlohr Bueso
2015-06-19 19:33 ` [tip:sched/locking] " tip-bot for Davidlohr Bueso
2015-05-19 17:24 ` [PATCH -rfc 4/4] locking/rtmutex: Support spin on owner (osq) Davidlohr Bueso
2015-05-20 7:11 ` Paul Bolle
2015-05-25 20:35 ` Davidlohr Bueso
2015-05-29 15:19 ` Davidlohr Bueso
2015-05-29 18:01 ` Davidlohr Bueso
2015-06-05 13:59 ` Thomas Gleixner
2015-06-09 4:41 ` Davidlohr Bueso
2015-06-09 9:29 ` Thomas Gleixner
2015-06-09 11:21 ` Peter Zijlstra
2015-06-09 12:53 ` Thomas Gleixner
2015-05-25 20:35 ` [PATCH -tip 0/4] rtmutex: Spin on owner Davidlohr Bueso
2015-05-26 19:05 ` Thomas Gleixner
-- strict thread matches above, loose matches on Subject: below --
2015-09-15 1:26 [PATCH v2] futex: lower the lock contention on the HB lock during wake up Zhu Jefferry
2015-09-16 0:01 ` Thomas Gleixner
2015-09-16 0:17 ` Zhu Jefferry
2015-09-16 8:06 ` Thomas Gleixner
2015-09-16 9:52 ` Zhu Jefferry
2015-09-16 10:22 ` Thomas Gleixner
2015-09-16 11:13 ` Zhu Jefferry
2015-09-16 13:39 ` Thomas Gleixner
2015-09-16 23:57 ` Zhu Jefferry
2015-09-17 7:08 ` Thomas Gleixner
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=558183FB.7060808@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=dave@stgolabs.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=umgwanakikbuti@gmail.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.