svn commit: r319120 - user/pho/stress2/misc

Peter Holm pho at FreeBSD.org
Mon May 29 11:10:24 UTC 2017


Author: pho
Date: Mon May 29 11:10:22 2017
New Revision: 319120
URL: https://svnweb.freebsd.org/changeset/base/319120

Log:
  Implement end syscall number to test.
  
  Sponsored by:	Dell EMC Isilon

Modified:
  user/pho/stress2/misc/syscall5.sh

Modified: user/pho/stress2/misc/syscall5.sh
==============================================================================
--- user/pho/stress2/misc/syscall5.sh	Mon May 29 10:15:41 2017	(r319119)
+++ user/pho/stress2/misc/syscall5.sh	Mon May 29 11:10:22 2017	(r319120)
@@ -37,16 +37,15 @@
 
 syscall=`grep SYS_MAXSYSCALL /usr/include/sys/syscall.h | awk '{print $NF}'`
 syscall=$((syscall - 1))
-uname -a | grep -q OneFS &&
-    syscall=`sysctl kern.syscalls | grep -v nosys | grep : | tail -1 | \
-    sed 's/:.*//'`
+esyscall=0
 
 last=/tmp/syscall5.last
 log=/tmp/syscall5.log
 
-while getopts ars:t:u flag; do
+while getopts ae:rs:t:u flag; do
 	case "$flag" in
 	a) all=1 ;;
+	e) esyscall="$OPTARG" ;;
 	r) [ -h $last ] &&
 	       syscall=`ls -l $last | awk '{print $NF}'`
 	       syscall=$((syscall - 1))
@@ -55,10 +54,12 @@ while getopts ars:t:u flag; do
 	t) sleeptime="$OPTARG"
 	   export sleeptime=$((sleeptime / 10))	;; # used in syscall4.sh
 	u) unnamed=1 ;;
-	*) echo "Usage $0 [-a] [-r] [-s number] [-t seconds] [-u]"
+	*) echo "Usage $0 [-a] [-r] [-s number] [-e number] [-t seconds] [-u]"
 	   return 1 ;;
 	esac
 done
+[ $syscall -gt $esyscall ] ||
+    { echo "$syscall must be greater than $esyscall"; exit 1; }
 
 # syscalls with known issues:
 broken="
@@ -76,8 +77,6 @@ while [ $n -gt 0 ]; do
 	ln -fs $n $last
 	name=`grep -w "$n$" /usr/include/sys/syscall.h | awk '{print $2}' |
 		sed 's/SYS_//'`
-	[ -z "$name" -a -n "$unnamed" ] &&
-		{ n=$((n - 1)); continue; }
 	[ -z "$name" ] && name="unknown"
 	rm -f /tmp/syscall5.name
 	[ -x ../tools/exclude_syscall.sh ] &&
@@ -85,12 +84,15 @@ while [ $n -gt 0 ]; do
 	    { n=$((n - 1)); continue; }
 	[ "$name" = "unknown" ] && [ -f /tmp/syscall5.name ] &&
 	    name=`cat /tmp/syscall5.name`
+	[ -z "$name" -a -n "$unnamed" ] &&
+		{ n=$((n - 1)); continue; }
 	echo "`date '+%T'` syscall $n ($name)"
 	echo "`date '+%T'` syscall $n ($name)"  >> $log
 	printf "`date '+%T'` syscall $n ($name)\r\n" > /dev/console
 	sync; sleep 1
 	echo "$broken" | grep -qw "$name" ||
 		./syscall4.sh $n || break
+	[ $n -le $esyscall ] && break
 	n=$((n - 1))
 	[ -z "$all" -a `date '+%s'` -gt $((start + 1800)) ] && break
 done


More information about the svn-src-user mailing list