svn commit: r333014 - user/pho/stress2/misc
Peter Holm
pho at FreeBSD.org
Thu Apr 26 05:21:02 UTC 2018
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
More information about the svn-src-user
mailing list