Date: Tue, 22 Apr 2014 07:17:49 +0000 (UTC) From: Peter Holm <pho@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r264751 - user/pho/stress2/misc Message-ID: <201404220717.s3M7HnnP083976@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pho Date: Tue Apr 22 07:17:48 2014 New Revision: 264751 URL: http://svnweb.freebsd.org/changeset/base/264751 Log: Do not sleep during benchmark, do not use abort(3) and rename log file. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/pthread2.sh Modified: user/pho/stress2/misc/pthread2.sh ============================================================================== --- user/pho/stress2/misc/pthread2.sh Tue Apr 22 07:16:05 2014 (r264750) +++ user/pho/stress2/misc/pthread2.sh Tue Apr 22 07:17:48 2014 (r264751) @@ -35,9 +35,9 @@ here=`pwd` cd /tmp sed '1,/^EOF/d' < $here/$0 > pthread2.c cc -o pthread2 -Wall -Wextra -O2 -g pthread2.c -lpthread || exit 1 -rm -f pthread2.c +rm -f pthread2.c /tmp/pthread2.core -log=/tmp/bench.`date '+%Y%m%d-%H%M'` +log=/tmp/pthread2.`date '+%Y%m%d-%H%M'` for i in `jot 5`; do [ $i -eq 1 ] && echo "# `uname -v`" time sh -c ' @@ -52,12 +52,15 @@ done > $log 2>&1 rm -f /tmp/pthread2 if [ -n "$bench" ]; then - pair=`ls /tmp/bench* | egrep "bench\.[0-9]{8}-" | sort | + pair=`ls /tmp/pthread2* | egrep "pthread2\.[0-9]{8}-" | sort | tail -2 | tr '\n' ' '` ministat -w 72 $pair else rm -f $log fi + +# __thr_umutex_lock() may call abort(3) under VM pressure. +[ -r /tmp/pthread2.core ] && echo FAIL exit 0 EOF /* @@ -92,7 +95,7 @@ EOF #define WAIT(x) pwait(&x.wait, &x.mtx) long ncreate, nrename, nunlink; -int max; +int bench, max; char *dirname1; char *dirname2; @@ -121,7 +124,7 @@ static void ahand(int i __unused) { /* handler */ fprintf(stderr, "FAIL\n"); hand(0); - abort(); + _exit(0); } void @@ -178,7 +181,7 @@ loop_create(void *arg __unused) ncreate++; UNLOCK(newfiles); SIGNAL(newfiles); - if ((i > 0) && (i % 100000 == 0)) + if ((bench == 0) && (i > 0) && (i % 100000 == 0)) for (j = 0; j < 10 && ncreate != nrename; j++) usleep(400); } @@ -247,6 +250,7 @@ main(void) int rc; pthread_t tid[3]; + bench = getenv("bench") != NULL; asprintf(&dirname1, "%s.1", "f1"); asprintf(&dirname2, "%s.2", "f2"); max = 15000000;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404220717.s3M7HnnP083976>