Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755392AbbFSSz1 (ORCPT ); Fri, 19 Jun 2015 14:55:27 -0400 Received: from www.linutronix.de ([62.245.132.108]:59265 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752259AbbFSSzE (ORCPT ); Fri, 19 Jun 2015 14:55:04 -0400 Date: Fri, 19 Jun 2015 20:54:44 +0200 (CEST) From: Thomas Gleixner To: Kevin Hilman cc: Sebastian Andrzej Siewior , Davidlohr Bueso , Peter Zijlstra , Ingo Molnar , Steven Rostedt , Mike Galbraith , "Paul E. McKenney" , lkml , Tyler Baker , Olof Johansson , Tony Lindgren , linux-omap , Santosh Shilimkar , Felipe Balbi , Nishanth Menon Subject: Re: [PATCH v2] futex: lower the lock contention on the HB lock during wake up In-Reply-To: Message-ID: 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> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1473 Lines: 46 On Fri, 19 Jun 2015, Kevin Hilman wrote: > On Wed, Jun 17, 2015 at 1:33 AM, Sebastian Andrzej Siewior > A handful of boot test failures on ARM/OMAP were found by kernelci.org > in next-20150619[1] and were bisected down to this patch, which hit > next-20150619 in the form of commit 881bd58d6e9e (futex: Lower the > lock contention on the HB lock during wake up). I confirmed that > reverting that patch on top of next-20150619 gets things booting again > for the affected platforms. > > I haven't debugged this any further, but full boot logs are available > for the boot failures[2][3] and the linux-omap list and maintainer are > Cc'd here to help investigate further if needed. Found it. Dunno, how I missed that one. Fix below. Thanks, tglx --- diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index 10dbeb6fe96f..5674b073473c 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c @@ -1365,9 +1365,14 @@ rt_mutex_fastunlock(struct rt_mutex *lock, if (likely(rt_mutex_cmpxchg(lock, current, NULL))) { rt_mutex_deadlock_account_unlock(current); - } else if (slowfn(lock, &wake_q)) { + } else { + bool deboost = slowfn(lock, &wake_q); + + wake_up_q(&wake_q); + /* Undo pi boosting if necessary: */ - rt_mutex_adjust_prio(current); + if (deboost) + rt_mutex_adjust_prio(current); } } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in Please read the FAQ at http://www.tux.org/lkml/