From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754891AbcE3Nt0 (ORCPT ); Mon, 30 May 2016 09:49:26 -0400 Received: from merlin.infradead.org ([205.233.59.134]:47230 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751137AbcE3NtZ (ORCPT ); Mon, 30 May 2016 09:49:25 -0400 Date: Mon, 30 May 2016 15:49:11 +0200 From: Peter Zijlstra To: Sebastian Andrzej Siewior Cc: Sebastian Andrzej Siewior , Thomas Gleixner , LKML , Linus Torvalds , Darren Hart , Ingo Molnar , Michael Kerrisk , Davidlohr Bueso , Chris Mason , "Carlos O'Donell" , Torvald Riegel , Eric Dumazet Subject: Re: [patch V2 2/7] futex: Hash private futexes per process Message-ID: <20160530134911.GD3193@twins.programming.kicks-ass.net> References: <20160505204230.932454245@linutronix.de> <20160505204353.973009518@linutronix.de> <20160519122406.GA3192@twins.programming.kicks-ass.net> <20160527171001.GC28561@breakpoint.cc> <20160530085820.GN3192@twins.programming.kicks-ass.net> <9e7e4fb5-7b95-7676-d0f9-8e5dc5dc3ba9@linutronix.de> <20160530120630.GB3193@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 30, 2016 at 03:37:48PM +0200, Sebastian Andrzej Siewior wrote: > Yes, I did not try to discuss the hash collision away. From RT's point > of view the problems I am aware are of the following scenario: > Task #1 pinned to CPU1 task #2 pinned to CPU2 but share the same > bucket. Task #2 got a wakeup and should run but is blocked on the > bucket lock - otherwise it could run. Usually it would PI-boost task#1 > but task#1 got preempted itself by task and since task#1 prio is lower > it can't boost its way free towards the lock and so so CPU #2 may > remain idle for some time. > > The same thing can happen within a Task if you take my story from above > and replace task with thread. Completely understood. Right; so I don't see the point of PREALLOCATE_HASH to cater for RT workloads if it still doesn't guarantee anything, esp. if the failure case is silent and obscure.