From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932078AbbJPKgI (ORCPT ); Fri, 16 Oct 2015 06:36:08 -0400 Received: from www.linutronix.de ([62.245.132.108]:36827 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752860AbbJPKgH (ORCPT ); Fri, 16 Oct 2015 06:36:07 -0400 Date: Fri, 16 Oct 2015 12:35:23 +0200 (CEST) From: Thomas Gleixner To: Heiko Carstens cc: Stefan Liebler , Preeti U Murthy , Peter Zijlstra , linux-kernel@vger.kernel.org Subject: Re: futex timeout not working? (bisected) In-Reply-To: <20151016103123.GE4684@osiris> Message-ID: References: <20151015104347.GA4166@osiris> <20151016103123.GE4684@osiris> 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 On Fri, 16 Oct 2015, Heiko Carstens wrote: > On Fri, Oct 16, 2015 at 12:21:51PM +0200, Thomas Gleixner wrote: > > Heiko, > > > > On Thu, 15 Oct 2015, Heiko Carstens wrote: > > > /* We wait for half a second. */ > > > ts.tv_nsec += 500000000; > > > if (ts.tv_nsec >= 1000000000) > > > { > > > ++ts.tv_sec; > > > ts.tv_nsec -= 1000000000; > > > } > > > > > > ret = syscall (__NR_futex, &futex_word, op, expected, ts, NULL, FUTEX_BITSET_MATCH_ANY); > > > > If you actually hand in a pointer to 'ts' then the program works as > > expected even with the commit in question applied. > > Yes, sorry about that! I was just about to write that this should have > been &ts on x86. Since x86 seems to pass also structures >8 bytes by > value. > > However on s390 it is passed by reference. So even it I change ts to &ts, > it will hang as I described. > > So you are saying this works on x86 and it must be some s390 specific bug? Looks like. I have no idea why that would break on s390. Did you try to revert the commit on top of tree? Thanks, tglx