From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752613AbdCMPLl (ORCPT ); Mon, 13 Mar 2017 11:11:41 -0400 Received: from merlin.infradead.org ([205.233.59.134]:42900 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751089AbdCMPLc (ORCPT ); Mon, 13 Mar 2017 11:11:32 -0400 Date: Mon, 13 Mar 2017 16:11:17 +0100 From: Peter Zijlstra To: Thomas Gleixner Cc: mingo@kernel.org, juri.lelli@arm.com, rostedt@goodmis.org, xlpang@redhat.com, bigeasy@linutronix.de, linux-kernel@vger.kernel.org, mathieu.desnoyers@efficios.com, jdesfossez@efficios.com, bristot@redhat.com, dvhart@infradead.org Subject: Re: [PATCH -v5 14/14] futex: futex_unlock_pi() determinism Message-ID: <20170313151117.GC3328@twins.programming.kicks-ass.net> References: <20170304092717.762954142@infradead.org> <20170304093559.696873055@infradead.org> <20170313092542.GJ3343@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.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 13, 2017 at 03:25:52PM +0100, Thomas Gleixner wrote: > On Mon, 13 Mar 2017, Peter Zijlstra wrote: > > > On Tue, Mar 07, 2017 at 03:31:50PM +0100, Thomas Gleixner wrote: > > > On Sat, 4 Mar 2017, Peter Zijlstra wrote: > > > > > > > The problem with returning -EAGAIN when the waiter state mismatches is > > > > that it becomes very hard to proof a bounded execution time on the > > > > operation. And seeing that this is a RT operation, this is somewhat > > > > important. > > > > > > > > While in practise it will be very unlikely to ever really take more > > > > than one or two rounds, proving so becomes rather hard. > > > > > > Oh no. Assume the following: > > > > > > T1 and T2 are both pinned to CPU0. prio(T2) > prio(T1) > > > > > > CPU0 > > > > > > T1 > > > lock_pi() > > > queue_me() <- Waiter is visible > > > > > > preemption > > > > > > T2 > > > unlock_pi() > > > loops with -EAGAIN forever > > > > So this is true before the last patch; but if we look at the locking > > changes brought by that (pasting its changelog here): > > I was referring to the state before the last patch and your wording in the > changelog of this being very unlikely. Yeah, I understand that. Lemme see what I can do to clarify both situations.