Date: Thu, 26 Apr 2018 05:21:00 +0000 (UTC) From: Peter Holm <pho@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r333014 - user/pho/stress2/misc Message-ID: <201804260521.w3Q5L0cF031844@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 <pthread.h> #include <sys/types.h> #include <sys/event.h> + #include <err.h> +#include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -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 <<EOF @@ -41,9 +43,9 @@ cat > /tmp/kevent10.c <<EOF int main(void) { - char *fn = "/tmp/trace"; struct kevent changes; struct kevent events; + char *fn = "/tmp/kevent10.trace"; if (open(fn, O_RDWR | O_CREAT, 0666) == -1) err(1, "%s", fn); @@ -54,6 +56,7 @@ main(void) if (kevent(0, &changes, -1, &events, 1, 0) == -1) if (errno != EBADF) err(1, "kevent"); + return (0); } EOF @@ -64,5 +67,5 @@ rm /tmp/kevent10.c /tmp/kevent10 s=$? -rm /tmp/kevent10 +rm /tmp/kevent10 /tmp/kevent10.trace exit $s Modified: user/pho/stress2/misc/kevent11.sh ============================================================================== --- user/pho/stress2/misc/kevent11.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent11.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -100,8 +100,7 @@ test(void) { struct kevent ev[2]; struct timespec ts; - int kq = -1; - int fd, n; + int kq, fd, n; if ((fd = open(file, O_RDONLY, 0)) == -1) err(1, "open(%s). %s:%d", file, __func__, __LINE__); Modified: user/pho/stress2/misc/kevent2.sh ============================================================================== --- user/pho/stress2/misc/kevent2.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent2.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -34,7 +34,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > 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 <pthread.h> #include <sys/types.h> -#include <sys/time.h> #include <sys/event.h> +#include <sys/time.h> + #include <err.h> +#include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -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 <sys/types.h> #include <sys/event.h> #include <sys/time.h> + #include <stdio.h> #include <unistd.h> @@ -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 <unistd.h> #include <sys/types.h> #include <sys/event.h> + +#include <unistd.h> #include <errno.h> #include <string.h> #include <stdio.h> @@ -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 <sys/types.h> +#include <sys/param.h> #include <sys/stat.h> #include <sys/mman.h> #include <sys/event.h> +#include <machine/atomic.h> + #include <err.h> #include <errno.h> #include <fcntl.h> @@ -62,21 +65,23 @@ EOF #include <unistd.h> #include <sys/wait.h> +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 <rendezvous file> <tail file>\n", argv[0]); + fprintf(stderr, "Usage: %s <rendezvous file> <tail file>\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 <sys/types.h> +#include <sys/event.h> +#include <sys/mman.h> +#include <sys/wait.h> + #include <err.h> #include <errno.h> #include <fcntl.h> @@ -82,26 +87,23 @@ EOF #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <sys/event.h> -#include <sys/mman.h> -#include <sys/wait.h> #include <unistd.h> #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 <sys/types.h> -#include <sys/mman.h> #include <sys/event.h> +#include <sys/mman.h> +#include <sys/wait.h> + #include <err.h> #include <errno.h> #include <fcntl.h> #include <pthread.h> +#include <sched.h> +#include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> -#include <sys/wait.h> -#include <sched.h> -#include <signal.h> #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 <<EOF -#include <stdio.h> -#include <string.h> -#include <sys/types.h> -#include <sys/wait.h> #include <sys/event.h> #include <sys/time.h> +#include <sys/types.h> #include <sys/wait.h> -#include <signal.h> +#include <sys/wait.h> + +#include <err.h> #include <pthread.h> #include <pthread_np.h> -#include <unistd.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <err.h> +#include <string.h> +#include <unistd.h> #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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804260521.w3Q5L0cF031844>