From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933320AbcETJeb (ORCPT ); Fri, 20 May 2016 05:34:31 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:45538 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932686AbcETJe3 (ORCPT ); Fri, 20 May 2016 05:34:29 -0400 Date: Fri, 20 May 2016 11:34:23 +0200 From: Peter Zijlstra To: Giovanni Gherdovich Cc: Davidlohr Bueso , manfred@colorfullife.com, Waiman.Long@hpe.com, mingo@kernel.org, torvalds@linux-foundation.org, mgorman@techsingularity.net, linux-kernel@vger.kernel.org Subject: Re: sem_lock() vs qspinlocks Message-ID: <20160520093423.GE3193@twins.programming.kicks-ass.net> References: <20160520053926.GC31084@linux-uzut.site> <20160520081315.GC3193@twins.programming.kicks-ass.net> <20160520081832.GN3205@twins.programming.kicks-ass.net> <1463735269.2279.3.camel@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1463735269.2279.3.camel@suse.com> 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 Fri, May 20, 2016 at 11:07:49AM +0200, Giovanni Gherdovich wrote: > ----------- run_cascade.sh ------------------------------------- > #!/bin/bash > > TESTCASE=$1 > CASCADE_PATH="libmicro-1-installed/bin-x86_64" > > case $TESTCASE in > c_flock_200) > BINNAME="cascade_flock" > COMMAND="$CASCADE_PATH/cascade_flock -E -D 60000 -L -S -W \ > -N c_flock_200 \ > -P 200 -I 5000000" > # c_flock_200 is supposed to last 60 seconds. > SLEEPTIME=70 > ;; > c_cond_10) > BINNAME="cascade_cond" > COMMAND="$CASCADE_PATH/cascade_cond -E -C 2000 -L -S -W \ > -N c_cond_10 \ > -T 10 -I 3000" > # c_cond_10 terminates in less than 1 second. > SLEEPTIME=5 > ;; > *) > echo "Unknown test case" >&2 > exit 1 > ;; > esac > > ERRORS=0 > uname -a > for i in {1..10} ; do > { > eval $COMMAND & > } >/dev/null 2>&1 > sleep $SLEEPTIME > if pidof $BINNAME >/dev/null ; then > echo Run \#$i: $TESTCASE hangs > for PID in $(pidof $BINNAME) ; do > head -1 /proc/$PID/stack > done | sort | uniq -c > ERRORS=$((ERRORS+1)) > killall $BINNAME > else > echo Run \#$i: $TESTCASE exits successfully > fi > done > echo $TESTCASE hanged $ERRORS times. > ---------------------------------------------------------------- Thanks, that's a much nicer script than mine ;-)