svn commit: r335951 - head/tools/tools/syscall_timing

Edward Tomasz Napierala trasz at FreeBSD.org
Wed Jul 4 14:11:50 UTC 2018


Author: trasz
Date: Wed Jul  4 14:11:49 2018
New Revision: 335951
URL: https://svnweb.freebsd.org/changeset/base/335951

Log:
  Sort the benchmarks; no functional changes intended.
  
  Obtained from:	CheriBSD
  MFC after:	2 weeks
  Sponsored by:	DARPA, AFRL

Modified:
  head/tools/tools/syscall_timing/syscall_timing.c

Modified: head/tools/tools/syscall_timing/syscall_timing.c
==============================================================================
--- head/tools/tools/syscall_timing/syscall_timing.c	Wed Jul  4 14:10:36 2018	(r335950)
+++ head/tools/tools/syscall_timing/syscall_timing.c	Wed Jul  4 14:11:49 2018	(r335951)
@@ -98,50 +98,51 @@ benchmark_stop(void)
 	error = clock_gettime(CLOCK_REALTIME, &ts_end);
 	assert(error == 0);
 }
-  
+
 static uintmax_t
-test_getuid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+test_access(uintmax_t num, uintmax_t int_arg __unused, const char *path)
 {
 	uintmax_t i;
+	int fd;
 
-	/*
-	 * Thread-local data should require no locking if system
-	 * call is MPSAFE.
-	 */
+	fd = access(path, O_RDONLY);
+	if (fd < 0)
+		err(-1, "test_access: %s", path);
+	close(fd);
+
 	benchmark_start();
 	BENCHMARK_FOREACH(i, num) {
-		getuid();
+		access(path, O_RDONLY);
+		close(fd);
 	}
 	benchmark_stop();
 	return (i);
 }
 
 static uintmax_t
-test_getppid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+test_bad_open(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
 	uintmax_t i;
 
-	/*
-	 * This is process-local, but can change, so will require a
-	 * lock.
-	 */
 	benchmark_start();
 	BENCHMARK_FOREACH(i, num) {
-		getppid();
+		open("", O_RDONLY);
 	}
 	benchmark_stop();
 	return (i);
 }
 
 static uintmax_t
-test_getresuid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+test_chroot(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
-	uid_t ruid, euid, suid;
 	uintmax_t i;
 
+	if (chroot("/") < 0)
+		err(-1, "test_chroot: chroot");
 	benchmark_start();
 	BENCHMARK_FOREACH(i, num) {
-		(void)getresuid(&ruid, &euid, &suid);
+		if (chroot("/") < 0)
+			err(-1, "test_chroot: chroot");
 	}
 	benchmark_stop();
 	return (i);
@@ -162,20 +163,111 @@ test_clock_gettime(uintmax_t num, uintmax_t int_arg __
 }
 
 static uintmax_t
-test_gettimeofday(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+test_create_unlink(uintmax_t num, uintmax_t int_arg __unused, const char *path)
 {
-	struct timeval tv;
 	uintmax_t i;
+	int fd;
 
+	(void)unlink(path);
+	fd = open(path, O_RDWR | O_CREAT, 0600);
+	if (fd < 0)
+		err(-1, "test_create_unlink: create: %s", path);
+	close(fd);
+	if (unlink(path) < 0)
+		err(-1, "test_create_unlink: unlink: %s", path);
 	benchmark_start();
 	BENCHMARK_FOREACH(i, num) {
-		(void)gettimeofday(&tv, NULL);
+		fd = open(path, O_RDWR | O_CREAT, 0600);
+		if (fd < 0)
+			err(-1, "test_create_unlink: create: %s", path);
+		close(fd);
+		if (unlink(path) < 0)
+			err(-1, "test_create_unlink: unlink: %s", path);
 	}
 	benchmark_stop();
 	return (i);
 }
 
 static uintmax_t
+test_fork(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	pid_t pid;
+	uintmax_t i;
+
+	pid = fork();
+	if (pid < 0)
+		err(-1, "test_fork: fork");
+	if (pid == 0)
+		_exit(0);
+	if (waitpid(pid, NULL, 0) < 0)
+		err(-1, "test_fork: waitpid");
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		pid = fork();
+		if (pid < 0)
+			err(-1, "test_fork: fork");
+		if (pid == 0)
+			_exit(0);
+		if (waitpid(pid, NULL, 0) < 0)
+			err(-1, "test_fork: waitpid");
+	}
+	benchmark_stop();
+	return (i);
+}
+
+#define	USR_BIN_TRUE	"/usr/bin/true"
+static char *execve_args[] = { __DECONST(char *, USR_BIN_TRUE), NULL};
+extern char **environ;
+
+static uintmax_t
+test_fork_exec(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	pid_t pid;
+	uintmax_t i;
+
+	pid = fork();
+	if (pid < 0)
+		err(-1, "test_fork_exec: fork");
+	if (pid == 0) {
+		(void)execve(USR_BIN_TRUE, execve_args, environ);
+		err(-1, "execve");
+	}
+	if (waitpid(pid, NULL, 0) < 0)
+		err(-1, "test_fork: waitpid");
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		pid = fork();
+		if (pid < 0)
+			err(-1, "test_fork_exec: fork");
+		if (pid == 0) {
+			(void)execve(USR_BIN_TRUE, execve_args, environ);
+			err(-1, "test_fork_exec: execve");
+		}
+		if (waitpid(pid, NULL, 0) < 0)
+			err(-1, "test_fork_exec: waitpid");
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
+test_getppid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	uintmax_t i;
+
+	/*
+	 * This is process-local, but can change, so will require a
+	 * lock.
+	 */
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		getppid();
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
 test_getpriority(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
 	uintmax_t i;
@@ -206,6 +298,98 @@ test_getprogname(uintmax_t num, uintmax_t int_arg __un
 }
 
 static uintmax_t
+test_getresuid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	uid_t ruid, euid, suid;
+	uintmax_t i;
+
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		(void)getresuid(&ruid, &euid, &suid);
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
+test_gettimeofday(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	struct timeval tv;
+	uintmax_t i;
+
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		(void)gettimeofday(&tv, NULL);
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
+test_getuid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	uintmax_t i;
+
+	/*
+	 * Thread-local data should require no locking if system
+	 * call is MPSAFE.
+	 */
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		getuid();
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
+test_open_close(uintmax_t num, uintmax_t int_arg __unused, const char *path)
+{
+	uintmax_t i;
+	int fd;
+
+	fd = open(path, O_RDONLY);
+	if (fd < 0)
+		err(-1, "test_open_close: %s", path);
+	close(fd);
+
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		fd = open(path, O_RDONLY);
+		if (fd < 0)
+			err(-1, "test_open_close: %s", path);
+		close(fd);
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
+test_open_read_close(uintmax_t num, uintmax_t int_arg, const char *path)
+{
+	char buf[int_arg];
+	uintmax_t i;
+	int fd;
+
+	fd = open(path, O_RDONLY);
+	if (fd < 0)
+		err(-1, "test_open_read_close: %s", path);
+	(void)read(fd, buf, int_arg);
+	close(fd);
+
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		fd = open(path, O_RDONLY);
+		if (fd < 0)
+			err(-1, "test_open_read_close: %s", path);
+		(void)read(fd, buf, int_arg);
+		close(fd);
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
 test_pipe(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
 	int fd[2];
@@ -232,28 +416,6 @@ test_pipe(uintmax_t num, uintmax_t int_arg __unused, c
 	return (i);
 }
 
-static uintmax_t
-test_select(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
-{
-	fd_set readfds, writefds, exceptfds;
-	struct timeval tv;
-	uintmax_t i;
-
-	FD_ZERO(&readfds);
-	FD_ZERO(&writefds);
-	FD_ZERO(&exceptfds);
-
-	tv.tv_sec = 0;
-	tv.tv_usec = 0;
-
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		(void)select(0, &readfds, &writefds, &exceptfds, &tv);
-	}
-	benchmark_stop();
-	return (i);
-}
-
 static void
 readx(int fd, char *buf, size_t size)
 {
@@ -381,6 +543,67 @@ test_pipepingtd(uintmax_t num, uintmax_t int_arg, cons
 #endif /* WITH_PTHREAD */
 
 static uintmax_t
+test_read(uintmax_t num, uintmax_t int_arg, const char *path)
+{
+	char buf[int_arg];
+	uintmax_t i;
+	int fd;
+
+	fd = open(path, O_RDONLY);
+	if (fd < 0)
+		err(-1, "test_open_read: %s", path);
+	(void)pread(fd, buf, int_arg, 0);
+
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		(void)pread(fd, buf, int_arg, 0);
+	}
+	benchmark_stop();
+	close(fd);
+	return (i);
+}
+
+static uintmax_t
+test_select(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	fd_set readfds, writefds, exceptfds;
+	struct timeval tv;
+	uintmax_t i;
+
+	FD_ZERO(&readfds);
+	FD_ZERO(&writefds);
+	FD_ZERO(&exceptfds);
+
+	tv.tv_sec = 0;
+	tv.tv_usec = 0;
+
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		(void)select(0, &readfds, &writefds, &exceptfds, &tv);
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
+test_setuid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
+{
+	uid_t uid;
+	uintmax_t i;
+
+	uid = getuid();
+	if (setuid(uid) < 0)
+		err(-1, "test_setuid: setuid");
+	benchmark_start();
+	BENCHMARK_FOREACH(i, num) {
+		if (setuid(uid) < 0)
+			err(-1, "test_setuid: setuid");
+	}
+	benchmark_stop();
+	return (i);
+}
+
+static uintmax_t
 test_socket_stream(uintmax_t num, uintmax_t int_arg, const char *path __unused)
 {
 	uintmax_t i;
@@ -465,133 +688,6 @@ test_socketpair_dgram(uintmax_t num, uintmax_t int_arg
 }
 
 static uintmax_t
-test_access(uintmax_t num, uintmax_t int_arg __unused, const char *path)
-{
-	uintmax_t i;
-	int fd;
-
-	fd = access(path, O_RDONLY);
-	if (fd < 0)
-		err(-1, "test_access: %s", path);
-	close(fd);
-
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		access(path, O_RDONLY);
-		close(fd);
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
-test_create_unlink(uintmax_t num, uintmax_t int_arg __unused, const char *path)
-{
-	uintmax_t i;
-	int fd;
-
-	(void)unlink(path);
-	fd = open(path, O_RDWR | O_CREAT, 0600);
-	if (fd < 0)
-		err(-1, "test_create_unlink: create: %s", path);
-	close(fd);
-	if (unlink(path) < 0)
-		err(-1, "test_create_unlink: unlink: %s", path);
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		fd = open(path, O_RDWR | O_CREAT, 0600);
-		if (fd < 0)
-			err(-1, "test_create_unlink: create: %s", path);
-		close(fd);
-		if (unlink(path) < 0)
-			err(-1, "test_create_unlink: unlink: %s", path);
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
-test_open_close(uintmax_t num, uintmax_t int_arg __unused, const char *path)
-{
-	uintmax_t i;
-	int fd;
-
-	fd = open(path, O_RDONLY);
-	if (fd < 0)
-		err(-1, "test_open_close: %s", path);
-	close(fd);
-
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		fd = open(path, O_RDONLY);
-		if (fd < 0)
-			err(-1, "test_open_close: %s", path);
-		close(fd);
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
-test_bad_open(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
-{
-	uintmax_t i;
-
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		open("", O_RDONLY);
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
-test_read(uintmax_t num, uintmax_t int_arg, const char *path)
-{
-	char buf[int_arg];
-	uintmax_t i;
-	int fd;
-
-	fd = open(path, O_RDONLY);
-	if (fd < 0)
-		err(-1, "test_open_read: %s", path);
-	(void)pread(fd, buf, int_arg, 0);
-
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		(void)pread(fd, buf, int_arg, 0);
-	}
-	benchmark_stop();
-	close(fd);
-	return (i);
-}
-
-static uintmax_t
-test_open_read_close(uintmax_t num, uintmax_t int_arg, const char *path)
-{
-	char buf[int_arg];
-	uintmax_t i;
-	int fd;
-
-	fd = open(path, O_RDONLY);
-	if (fd < 0)
-		err(-1, "test_open_read_close: %s", path);
-	(void)read(fd, buf, int_arg);
-	close(fd);
-
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		fd = open(path, O_RDONLY);
-		if (fd < 0)
-			err(-1, "test_open_read_close: %s", path);
-		(void)read(fd, buf, int_arg);
-		close(fd);
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
 test_dup(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
 	uintmax_t i;
@@ -657,33 +753,6 @@ test_fstat_shmfd(uintmax_t num, uintmax_t int_arg __un
 }
 
 static uintmax_t
-test_fork(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
-{
-	pid_t pid;
-	uintmax_t i;
-
-	pid = fork();
-	if (pid < 0)
-		err(-1, "test_fork: fork");
-	if (pid == 0)
-		_exit(0);
-	if (waitpid(pid, NULL, 0) < 0)
-		err(-1, "test_fork: waitpid");
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		pid = fork();
-		if (pid < 0)
-			err(-1, "test_fork: fork");
-		if (pid == 0)
-			_exit(0);
-		if (waitpid(pid, NULL, 0) < 0)
-			err(-1, "test_fork: waitpid");
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
 test_vfork(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
 	pid_t pid;
@@ -710,42 +779,7 @@ test_vfork(uintmax_t num, uintmax_t int_arg __unused, 
 	return (i);
 }
 
-#define	USR_BIN_TRUE	"/usr/bin/true"
-static char *execve_args[] = { __DECONST(char *, USR_BIN_TRUE), NULL};
-extern char **environ;
-
 static uintmax_t
-test_fork_exec(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
-{
-	pid_t pid;
-	uintmax_t i;
-
-	pid = fork();
-	if (pid < 0)
-		err(-1, "test_fork_exec: fork");
-	if (pid == 0) {
-		(void)execve(USR_BIN_TRUE, execve_args, environ);
-		err(-1, "execve");
-	}
-	if (waitpid(pid, NULL, 0) < 0)
-		err(-1, "test_fork: waitpid");
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		pid = fork();
-		if (pid < 0)
-			err(-1, "test_fork_exec: fork");
-		if (pid == 0) {
-			(void)execve(USR_BIN_TRUE, execve_args, environ);
-			err(-1, "test_fork_exec: execve");
-		}
-		if (waitpid(pid, NULL, 0) < 0)
-			err(-1, "test_fork_exec: waitpid");
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
 test_vfork_exec(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
 {
 	pid_t pid;
@@ -776,40 +810,6 @@ test_vfork_exec(uintmax_t num, uintmax_t int_arg __unu
 	return (i);
 }
 
-static uintmax_t
-test_chroot(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
-{
-	uintmax_t i;
-
-	if (chroot("/") < 0)
-		err(-1, "test_chroot: chroot");
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		if (chroot("/") < 0)
-			err(-1, "test_chroot: chroot");
-	}
-	benchmark_stop();
-	return (i);
-}
-
-static uintmax_t
-test_setuid(uintmax_t num, uintmax_t int_arg __unused, const char *path __unused)
-{
-	uid_t uid;
-	uintmax_t i;
-
-	uid = getuid();
-	if (setuid(uid) < 0)
-		err(-1, "test_setuid: setuid");
-	benchmark_start();
-	BENCHMARK_FOREACH(i, num) {
-		if (setuid(uid) < 0)
-			err(-1, "test_setuid: setuid");
-	}
-	benchmark_stop();
-	return (i);
-}
-
 struct test {
 	const char	*t_name;
 	uintmax_t	(*t_func)(uintmax_t, uintmax_t, const char *);
@@ -820,40 +820,19 @@ struct test {
 #define	FLAG_PATH	0x00000001
 
 static const struct test tests[] = {
-	{ "getuid", test_getuid, .t_flags = 0 },
-	{ "getppid", test_getppid, .t_flags = 0 },
-	{ "getresuid", test_getresuid, .t_flags = 0 },
+	{ "access", test_access, .t_flags = FLAG_PATH },
+	{ "bad_open", test_bad_open, .t_flags = 0 },
+	{ "chroot", test_chroot, .t_flags = 0 },
 	{ "clock_gettime", test_clock_gettime, .t_flags = 0 },
-	{ "pipeping_1", test_pipeping, .t_flags = 0, .t_int = 1 },
-	{ "pipeping_10", test_pipeping, .t_flags = 0, .t_int = 10 },
-	{ "pipeping_100", test_pipeping, .t_flags = 0, .t_int = 100 },
-	{ "pipeping_1000", test_pipeping, .t_flags = 0, .t_int = 1000 },
-	{ "pipeping_10000", test_pipeping, .t_flags = 0, .t_int = 10000 },
-	{ "pipeping_100000", test_pipeping, .t_flags = 0, .t_int = 100000 },
-	{ "pipeping_1000000", test_pipeping, .t_flags = 0, .t_int = 1000000 },
-#ifdef WITH_PTHREAD
-	{ "pipepingtd_1", test_pipepingtd, .t_flags = 0, .t_int = 1 },
-	{ "pipepingtd_10", test_pipepingtd, .t_flags = 0, .t_int = 10 },
-	{ "pipepingtd_100", test_pipepingtd, .t_flags = 0, .t_int = 100 },
-	{ "pipepingtd_1000", test_pipepingtd, .t_flags = 0, .t_int = 1000 },
-	{ "pipepingtd_10000", test_pipepingtd, .t_flags = 0, .t_int = 10000 },
-	{ "pipepingtd_100000", test_pipepingtd, .t_flags = 0, .t_int = 100000 },
-	{ "pipepingtd_1000000", test_pipepingtd, .t_flags = 0, .t_int = 1000000 },
-#endif
-	{ "gettimeofday", test_gettimeofday, .t_flags = 0 },
+	{ "create_unlink", test_create_unlink, .t_flags = FLAG_PATH },
+	{ "fork", test_fork, .t_flags = 0 },
+	{ "fork_exec", test_fork_exec, .t_flags = 0 },
+	{ "getppid", test_getppid, .t_flags = 0 },
 	{ "getpriority", test_getpriority, .t_flags = 0 },
 	{ "getprogname", test_getprogname, .t_flags = 0 },
-	{ "pipe", test_pipe, .t_flags = 0 },
-	{ "select", test_select, .t_flags = 0 },
-	{ "socket_local_stream", test_socket_stream, .t_int = PF_LOCAL },
-	{ "socket_local_dgram", test_socket_dgram, .t_int = PF_LOCAL },
-	{ "socketpair_stream", test_socketpair_stream, .t_flags = 0 },
-	{ "socketpair_dgram", test_socketpair_dgram, .t_flags = 0 },
-	{ "socket_tcp", test_socket_stream, .t_int = PF_INET },
-	{ "socket_udp", test_socket_dgram, .t_int = PF_INET },
-	{ "access", test_access, .t_flags = FLAG_PATH },
-	{ "create_unlink", test_create_unlink, .t_flags = FLAG_PATH },
-	{ "bad_open", test_bad_open, .t_flags = 0 },
+	{ "getresuid", test_getresuid, .t_flags = 0 },
+	{ "gettimeofday", test_gettimeofday, .t_flags = 0 },
+	{ "getuid", test_getuid, .t_flags = 0 },
 	{ "open_close", test_open_close, .t_flags = FLAG_PATH },
 	{ "open_read_close_1", test_open_read_close, .t_flags = FLAG_PATH,
 	    .t_int = 1 },
@@ -869,6 +848,23 @@ static const struct test tests[] = {
 	    .t_flags = FLAG_PATH, .t_int = 100000 },
 	{ "open_read_close_1000000", test_open_read_close,
 	    .t_flags = FLAG_PATH, .t_int = 1000000 },
+	{ "pipe", test_pipe, .t_flags = 0 },
+	{ "pipeping_1", test_pipeping, .t_flags = 0, .t_int = 1 },
+	{ "pipeping_10", test_pipeping, .t_flags = 0, .t_int = 10 },
+	{ "pipeping_100", test_pipeping, .t_flags = 0, .t_int = 100 },
+	{ "pipeping_1000", test_pipeping, .t_flags = 0, .t_int = 1000 },
+	{ "pipeping_10000", test_pipeping, .t_flags = 0, .t_int = 10000 },
+	{ "pipeping_100000", test_pipeping, .t_flags = 0, .t_int = 100000 },
+	{ "pipeping_1000000", test_pipeping, .t_flags = 0, .t_int = 1000000 },
+#ifdef WITH_PTHREAD
+	{ "pipepingtd_1", test_pipepingtd, .t_flags = 0, .t_int = 1 },
+	{ "pipepingtd_10", test_pipepingtd, .t_flags = 0, .t_int = 10 },
+	{ "pipepingtd_100", test_pipepingtd, .t_flags = 0, .t_int = 100 },
+	{ "pipepingtd_1000", test_pipepingtd, .t_flags = 0, .t_int = 1000 },
+	{ "pipepingtd_10000", test_pipepingtd, .t_flags = 0, .t_int = 10000 },
+	{ "pipepingtd_100000", test_pipepingtd, .t_flags = 0, .t_int = 100000 },
+	{ "pipepingtd_1000000", test_pipepingtd, .t_flags = 0, .t_int = 1000000 },
+#endif
 	{ "read_1", test_read, .t_flags = FLAG_PATH, .t_int = 1 },
 	{ "read_10", test_read, .t_flags = FLAG_PATH, .t_int = 10 },
 	{ "read_100", test_read, .t_flags = FLAG_PATH, .t_int = 100 },
@@ -876,15 +872,19 @@ static const struct test tests[] = {
 	{ "read_10000", test_read, .t_flags = FLAG_PATH, .t_int = 10000 },
 	{ "read_100000", test_read, .t_flags = FLAG_PATH, .t_int = 100000 },
 	{ "read_1000000", test_read, .t_flags = FLAG_PATH, .t_int = 1000000 },
+	{ "select", test_select, .t_flags = 0 },
+	{ "setuid", test_setuid, .t_flags = 0 },
+	{ "socket_local_stream", test_socket_stream, .t_int = PF_LOCAL },
+	{ "socket_local_dgram", test_socket_dgram, .t_int = PF_LOCAL },
+	{ "socketpair_stream", test_socketpair_stream, .t_flags = 0 },
+	{ "socketpair_dgram", test_socketpair_dgram, .t_flags = 0 },
+	{ "socket_tcp", test_socket_stream, .t_int = PF_INET },
+	{ "socket_udp", test_socket_dgram, .t_int = PF_INET },
 	{ "dup", test_dup, .t_flags = 0 },
 	{ "shmfd", test_shmfd, .t_flags = 0 },
 	{ "fstat_shmfd", test_fstat_shmfd, .t_flags = 0 },
-	{ "fork", test_fork, .t_flags = 0 },
 	{ "vfork", test_vfork, .t_flags = 0 },
-	{ "fork_exec", test_fork_exec, .t_flags = 0 },
 	{ "vfork_exec", test_vfork_exec, .t_flags = 0 },
-	{ "chroot", test_chroot, .t_flags = 0 },
-	{ "setuid", test_setuid, .t_flags = 0 },
 };
 static const int tests_count = sizeof(tests) / sizeof(tests[0]);
 


More information about the svn-src-all mailing list