From owner-svn-src-user@freebsd.org Thu Apr 26 05:21:01 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B58B7FC3586 for ; Thu, 26 Apr 2018 05:21:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BA2477197; Thu, 26 Apr 2018 05:21:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4685F13CFC; Thu, 26 Apr 2018 05:21:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3Q5L13S031857; Thu, 26 Apr 2018 05:21:01 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3Q5L0cF031844; Thu, 26 Apr 2018 05:21:00 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804260521.w3Q5L0cF031844@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 26 Apr 2018 05:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r333014 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 333014 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2018 05:21:02 -0000 Author: pho Date: Thu Apr 26 05:21:00 2018 New Revision: 333014 URL: https://svnweb.freebsd.org/changeset/base/333014 Log: Cleanup and style fixes. No functional changes intended. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/kevent.sh user/pho/stress2/misc/kevent10.sh user/pho/stress2/misc/kevent11.sh user/pho/stress2/misc/kevent2.sh user/pho/stress2/misc/kevent3.sh user/pho/stress2/misc/kevent4.sh user/pho/stress2/misc/kevent5.sh user/pho/stress2/misc/kevent6.sh user/pho/stress2/misc/kevent8.sh user/pho/stress2/misc/kevent9.sh Modified: user/pho/stress2/misc/kevent.sh ============================================================================== --- user/pho/stress2/misc/kevent.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -36,7 +36,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > kevent.c -mycc -o kevent -Wall kevent.c -pthread +mycc -o kevent -Wall kevent.c -pthread || exit 1 rm -f kevent.c [ -d "$RUNDIR" ] || mkdir -p $RUNDIR cd $RUNDIR @@ -50,10 +50,11 @@ done rm -f /tmp/kevent exit EOF -#include #include #include + #include +#include #include #include #include @@ -70,12 +71,11 @@ static int fd3[2]; #define RUNTIME 12 -void * +static void * thr1(void *arg) { - int n, r; - int kq = -1; struct kevent ev[3]; + int kq, n, r; if ((kq = kqueue()) < 0) err(1, "kqueue(). %s:%d", __FILE__, __LINE__); @@ -113,7 +113,7 @@ thr1(void *arg) return (0); } -void * +static void * thr2(void *arg) { int r; Modified: user/pho/stress2/misc/kevent10.sh ============================================================================== --- user/pho/stress2/misc/kevent10.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent10.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -21,6 +21,8 @@ # Fixed by r315155. +# $FreeBSD$ + . ../default.cfg cat > /tmp/kevent10.c < /tmp/kevent10.c < kevent2.c -mycc -o kevent2 -Wall kevent2.c -pthread +mycc -o kevent2 -Wall kevent2.c -pthread || exit 1 rm -f kevent2.c cd $RUNDIR @@ -47,11 +47,12 @@ done rm -f /tmp/kevent2 exit EOF -#include #include -#include #include +#include + #include +#include #include #include #include @@ -65,13 +66,12 @@ static int fd1[2]; static int fd2[2]; static int fd3[2]; -void * +static void * thr1(void *arg) { - int n, r; - int kq = -1; struct kevent ev[3]; struct timespec ts; + int kq, n, r; if ((kq = kqueue()) < 0) err(1, "kqueue(). %s:%d", __FILE__, __LINE__); @@ -108,14 +108,13 @@ thr1(void *arg) err(1, "kevent(). %s:%d", __FILE__, __LINE__); close(kq); -// printf("%s:%d\n", __FILE__, __LINE__); fflush(stdout); close(fd1[1]); close(fd2[1]); close(fd3[1]); return (0); } -void * +static void * thr2(void *arg) { int r; @@ -128,7 +127,6 @@ thr2(void *arg) } if ((r = pthread_mutex_unlock(&mutex)) != 0) errc(1, r, "pthread_mutex_unlock"); -// printf("%s:%d\n", __FILE__, __LINE__); fflush(stdout); close(fd1[0]); close(fd2[0]); close(fd3[0]); @@ -139,12 +137,10 @@ int main(int argc, char **argv) { pthread_t threads[2]; - int r; - int i; + int i, r; for (i = 0; i < 1000; i++) { waiting = 1; -// printf("%s:%d\n", __FILE__, __LINE__); fflush(stdout); if (pipe(fd1) == -1) err(1, "pipe()"); if (pipe(fd2) == -1) Modified: user/pho/stress2/misc/kevent3.sh ============================================================================== --- user/pho/stress2/misc/kevent3.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent3.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -34,7 +34,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > kevent3.c -mycc -o kevent3 -Wall kevent3.c -pthread +mycc -o kevent3 -Wall kevent3.c -pthread || exit 1 rm -f kevent3.c cd $RUNDIR @@ -47,7 +47,7 @@ for i in `jot 64`; do done done rm -f /tmp/kevent3 -exit +exit 0 EOF /* * Obtained from: @@ -56,6 +56,7 @@ EOF #include #include #include + #include #include @@ -63,11 +64,13 @@ int main(void) { struct kevent ke; int kq; + kq = kqueue(); EV_SET(&ke, getpid(), EVFILT_PROC, EV_ADD, NOTE_EXIT|NOTE_EXEC|NOTE_TRACK, 0, NULL); kevent(kq, &ke, 1, NULL, 0, NULL); if (fork() != 0) kevent(kq, NULL, 0, &ke, 1, NULL); + return (0); } Modified: user/pho/stress2/misc/kevent4.sh ============================================================================== --- user/pho/stress2/misc/kevent4.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent4.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -35,7 +35,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > kevent4.c -mycc -o kevent4 -Wall kevent4.c -pthread +mycc -o kevent4 -Wall kevent4.c -pthread || exit 1 rm -f kevent4.c cd $odir @@ -56,9 +56,10 @@ exit EOF // $FreeBSD$ -#include #include #include + +#include #include #include #include @@ -67,16 +68,16 @@ EOF # define true 1 #endif -int kq; +static int kq; -void +static void err(const char *msg, int err_no) { fprintf(stderr, "%s: %s\n", msg, strerror(err_no)); exit(1); } -void +static void init_kq() { kq = kqueue(); @@ -84,10 +85,11 @@ init_kq() err("kqueue", errno); } -void +static void add_watch(pid_t pid) { struct kevent kev; + bzero(&kev, sizeof(kev)); kev.ident = pid; kev.flags = EV_ADD | EV_ENABLE; @@ -113,36 +115,8 @@ add_watch(pid_t pid) } } -void -del_watch(pid_t pid) +static void polling() { - struct kevent kev; - bzero(&kev, sizeof(kev)); - kev.ident = pid; - kev.flags = EV_DELETE; - kev.filter = EVFILT_PROC; - - while (true) { - int res = kevent(kq, &kev, 1, NULL, 0, NULL); - if (res == -1) { - if (errno == EINTR) - continue; - if (errno == ESRCH) - break; - - int err_no = errno; - char msg[64]; - snprintf(msg, sizeof(msg), - "kevent - del watch for pid %u", pid); - err(msg, err_no); - } - else - break; - } -} - -void polling() -{ struct kevent kev[10]; pid_t pid; int i; @@ -165,7 +139,8 @@ void polling() pid = kev[i].ident; if (kev[i].fflags & NOTE_CHILD) { add_watch(pid); - printf("%u - new process, parent %u\n", pid, (unsigned int)kev[i].data); + printf("%u - new process, parent %u\n", pid, + (unsigned int)kev[i].data); } if (kev[i].fflags & NOTE_FORK) { printf("%u forked\n", pid); @@ -175,7 +150,6 @@ void polling() } if (kev[i].fflags & NOTE_EXIT) { printf("%u exited\n", pid); -// del_watch(pid); } if (kev[i].fflags & NOTE_TRACK) { printf("%u forked - track\n", pid); Modified: user/pho/stress2/misc/kevent5.sh ============================================================================== --- user/pho/stress2/misc/kevent5.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent5.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -42,17 +42,20 @@ rm -f kevent5.c [ -d $RUNDIR ] || mkdir -p $RUNDIR cd $RUNDIR -/tmp/kevent5 kevent5.xxx kevent5.yyy > /dev/null 2>&1 +/tmp/kevent5 kevent5.xxx kevent5.yyy +s=$? rm -f /tmp/kevent5 kevent.xxx kevent.yyy -exit +exit $s EOF -#include +#include #include #include #include +#include + #include #include #include @@ -62,21 +65,23 @@ EOF #include #include +volatile u_int *share; + static char *file1, *file2; #define N 1000 +#define SYNC 0 - -void +static void test(void) { - int kq = -1; - int n; + struct kevent ev[2]; struct timespec ts; - int fd; + int fd, kq, n; if ((fd = open(file1, O_RDONLY, 0)) == -1) err(1, "open(%s)(2)", file1); + atomic_add_int(&share[SYNC], 1); if ((kq = kqueue()) < 0) err(1, "kqueue()"); @@ -94,7 +99,6 @@ test(void) { memset(&ev, 0, sizeof(ev)); n = kevent(kq, NULL, 0, ev, 1, NULL); -// printf("Event 1\n"); close(fd); close(kq); @@ -116,32 +120,40 @@ test(void) { memset(&ev, 0, sizeof(ev)); n = kevent(kq, NULL, 0, ev, 1, &ts); -// printf("Event 2\n"); close(fd); close(kq); } int main(int argc, char **argv) { - int i, j; - int fd; - int status; + size_t len; + int e, fd, i, j, status; if (argc != 3) { - fprintf(stderr, "Usage: %s \n", argv[0]); + fprintf(stderr, "Usage: %s \n", + argv[0]); return (1); } + len = PAGE_SIZE; + if ((share = mmap(NULL, len, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED) + err(1, "mmap"); + + e = 0; file1 = argv[1]; file2 = argv[2]; - for (j = 0; j < 100; j++) { - if ((fd = open(file1, O_CREAT | O_TRUNC | O_RDWR, 0660)) == -1) + for (j = 0; j < 100 && e == 0; j++) { + if ((fd = open(file1, O_CREAT | O_TRUNC | O_RDWR, 0660)) == + -1) err(1, "open(%s)", file1); close(fd); - if ((fd = open(file2, O_CREAT | O_TRUNC | O_RDWR, 0660)) == -1) + if ((fd = open(file2, O_CREAT | O_TRUNC | O_RDWR, 0660)) == + -1) err(1, "open(%s)", file2); close(fd); + share[SYNC] = 0; for (i = 0; i < N; i++) { if (fork() == 0) { test(); @@ -149,18 +161,25 @@ main(int argc, char **argv) { } } + while (share[SYNC] != N) + usleep(200); + sleep(1); if (unlink(file1) == -1) - err(1, "unlink(%s). %s:%d\n", file1, __FILE__, __LINE__); - sleep(1); + err(1, "unlink(%s). %s:%d\n", file1, __FILE__, + __LINE__); + sleep(2); if (unlink(file2) == -1) - err(1, "unlink(%s). %s:%d\n", file2, __FILE__, __LINE__); + err(1, "unlink(%s). %s:%d\n", file2, __FILE__, + __LINE__); for (i = 0; i < N; i++) { if (wait(&status) == -1) err(1, "wait(), %s:%d", __FILE__, __LINE__); + if (status != 0) + e = 1; } } - return (0); + return (e); } Modified: user/pho/stress2/misc/kevent6.sh ============================================================================== --- user/pho/stress2/misc/kevent6.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent6.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -36,6 +36,7 @@ # https://people.freebsd.org/~pho/stress/log/kevent6.txt # Fixed by: r286921 +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 . ../default.cfg odir=`pwd` @@ -73,6 +74,10 @@ rm -f /tmp/kevent6 exit EOF #include +#include +#include +#include + #include #include #include @@ -82,26 +87,23 @@ EOF #include #include #include -#include -#include -#include #include #define LOOPS 500000 #define PARALLEL 8 +static int fd; static char path[80]; -int fd; - -void * +static void * spin(void *arg __unused) { int i; for (i= 0;; i++) { snprintf(path, sizeof(path), "file.%06d.%d", getpid(), i); - if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == -1) + if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == + -1) err(1, "creat()"); close(fd); usleep(10000); @@ -111,7 +113,7 @@ spin(void *arg __unused) return (NULL); } -void * +static void * test(void *arg __unused) { int kq; Modified: user/pho/stress2/misc/kevent8.sh ============================================================================== --- user/pho/stress2/misc/kevent8.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent8.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -32,7 +32,8 @@ . ../default.cfg -ulimit -k 10000 || { echo FAIL; exit 1; } +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +ulimit -k 5000 || { echo FAIL; exit 1; } odir=`pwd` @@ -45,14 +46,17 @@ cd $odir mount | grep "on $mntpoint " | grep -q md$mdstart && umount -f $mntpoint mdconfig -l | grep -q $mdstart && mdconfig -d -u $mdstart -mdconfig -a -t swap -s 2g -u ${mdstart} +mdconfig -a -t swap -s 2g -u $mdstart bsdlabel -w md$mdstart auto newfs $newfs_flags md${mdstart}$part > /dev/null mount /dev/md${mdstart}$part $mntpoint chmod 777 $mntpoint su $testuser -c "(cd $mntpoint; /tmp/kevent8)" & -sleep 99 +for i in `jot 99`; do + sleep 1 + kill -0 $! 2>/dev/null || break +done umount -f $mntpoint pkill kevent8 wait @@ -66,27 +70,27 @@ rm -f /tmp/kevent8 exit EOF #include -#include #include +#include +#include + #include #include #include #include +#include +#include #include #include #include #include -#include -#include -#include #define PARALLEL 64 +static int fd; static char path[80]; -int fd; - -void * +static void * spin(void *arg __unused) { int i; @@ -94,7 +98,8 @@ spin(void *arg __unused) for (i= 0;; i++) { snprintf(path, sizeof(path), "file.%06d.%d", getpid(), i); - if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == -1) + if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == + -1) err(1, "creat()"); close(fd); fd = 0; @@ -103,7 +108,7 @@ spin(void *arg __unused) return (NULL); } -void * +static void * test(void *arg __unused) { int kq; Modified: user/pho/stress2/misc/kevent9.sh ============================================================================== --- user/pho/stress2/misc/kevent9.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent9.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -18,19 +18,20 @@ cd /tmp cat > /tmp/kevent9-1.c < -#include -#include -#include #include #include +#include #include -#include +#include + +#include #include #include -#include +#include +#include #include -#include +#include +#include #define NUM_PROCS 4000 @@ -204,3 +205,4 @@ while [ $((`date '+%s'` - start)) -lt 300 ]; do ./kevent9-1 > /dev/null done rm kevent9-1 kevent9-2 +exit 0