Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1169514

Re: [PATCH v2] futex: lower the lock contention on the HB lock during wake up

Path csiph.com!aioe.org!eternal-september.org!feeder.eternal-september.org!feeds.phibee-telecom.net!news.panservice.it!diesel.cu.mi.it!bofh.it!news.nic.it!robomod
From Mike Galbraith <umgwanakikbuti@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2] futex: lower the lock contention on the HB lock during wake up
Date Sun, 21 Jun 2015 06:40:02 +0200
Message-ID <pDFd0-2YG-11@gated-at.bofh.it> (permalink)
References <prTv4-4VH-7@gated-at.bofh.it> <prTv4-4VH-15@gated-at.bofh.it> <pC4Iy-3oZ-9@gated-at.bofh.it> <pC5bA-40P-23@gated-at.bofh.it> <pCh34-4u4-9@gated-at.bofh.it> <pCmm6-3M8-21@gated-at.bofh.it> <pCmvL-3Xc-9@gated-at.bofh.it>
X-Original-To Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :content-type:mime-version:content-transfer-encoding; bh=XtYEdH2iHkCj9H5nGUupyLXnYf5ASbRmazpnj9Q9cEY=; b=uTvoHGyfnG2R3X2ki1bpMNgggg9lRvbSeX2S3Ahw1HIu2venip5HFkjP5gfTedlZmQ gpPNvR61xkeAsj1stojU5K2XLGjkJlNY6gfTAw/wPngm/DLNMj6fAmYxLiOv6peWjH8D jlP1MIaYtVjEKCMItKjYjcf7UUCB+K7nlBeLWuaUzwnX62FyQnGtOft0DIdZuQEN9GAh WP35sELiHKM9yBT6y9PLqho+uvAef4CYPg0pSF0Zvw2PKGSy4Vybg7mqcDhEUcs1rpwN PyLbKIMPhA18vMOQD0e4y/PTEQmC44+gAqRPWRfSJ9jGEVg4LBHpf+elOQmzYMahB7iF GK6g==
X-Received by 10.194.5.103 with SMTP id r7mr38629287wjr.47.1434861344672; Sat, 20 Jun 2015 21:35:44 -0700 (PDT)
Content-Type text/plain; charset="UTF-8"
X-Mailer Evolution 3.12.11
MIME-Version 1.0
Content-Transfer-Encoding 7bit
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 40
Organization linux.* mail to news gateway
X-Original-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
X-Original-Date Sun, 21 Jun 2015 06:35:44 +0200
X-Original-Message-ID <1434861344.6341.14.camel@gmail.com>
X-Original-References <1432056298-18738-1-git-send-email-dave@stgolabs.net> <1432056298-18738-2-git-send-email-dave@stgolabs.net> <20150616192911.GA19500@linutronix.de> <1434484226.1903.19.camel@stgolabs.net> <20150617083350.GA2433@linutronix.de> <1434550624.23509.18.camel@gmail.com> <558183FB.7060808@linutronix.de>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref aioe.org linux.kernel:1169514

Show key headers only | View raw


On Wed, 2015-06-17 at 16:28 +0200, Sebastian Andrzej Siewior wrote:
> 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.

I plugged patch1 and tip version into rt and beat it, seems solid.

Converting the rest of rtmutex.c to use wake queues with ->save_state to
select wake function went less well.  Kernel does a good impersonation
of a working kernel until I beat it up, then it loses wakeups.  Hohum,
so much for yet another early morning tinker session.

	-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH] futex: lower the lock contention on the HB lock during wake  up Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2015-06-16 21:30 +0200
  Re: [PATCH] futex: lower the lock contention on the HB lock during  wake up Davidlohr Bueso <dave@stgolabs.net> - 2015-06-16 22:00 +0200
    Re: [PATCH v2] futex: lower the lock contention on the HB lock  during wake up Mike Galbraith <umgwanakikbuti@gmail.com> - 2015-06-21 06:40 +0200

csiph-web