svn commit: r305312 - head/tools/tools/crypto
George V. Neville-Neil
gnn at FreeBSD.org
Sat Sep 3 00:22:44 UTC 2016
Author: gnn
Date: Sat Sep 3 00:22:42 2016
New Revision: 305312
URL: https://svnweb.freebsd.org/changeset/base/305312
Log:
Add cpuset support to separate forked processes.
Reviewed by: cem
Sponsored by: Rubicon Communications, LLC (Netgate)
Differential Revision: https://reviews.freebsd.org/D7766
Modified:
head/tools/tools/crypto/cryptotest.c
Modified: head/tools/tools/crypto/cryptotest.c
==============================================================================
--- head/tools/tools/crypto/cryptotest.c Fri Sep 2 22:47:57 2016 (r305311)
+++ head/tools/tools/crypto/cryptotest.c Sat Sep 3 00:22:42 2016 (r305312)
@@ -97,6 +97,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sysexits.h>
#include <unistd.h>
#include <crypto/cryptodev.h>
@@ -468,6 +469,11 @@ runtests(struct alg *alg, int count, int
if (threads > 1) {
for (i = 0; i < threads; i++)
if (fork() == 0) {
+ cpuset_t mask;
+ CPU_ZERO(&mask);
+ CPU_SET(i, &mask);
+ cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID,
+ -1, sizeof(mask), &mask);
runtest(alg, count, size, cmd, &tvp[i]);
exit(0);
}
@@ -573,6 +579,9 @@ main(int argc, char **argv)
}
argc--, argv++;
}
+ if (maxthreads > CPU_SETSIZE)
+ errx(EX_USAGE, "Too many threads, %d, choose fewer.", maxthreads);
+
if (nsizes == 0) {
if (alg)
sizes[nsizes++] = alg->blocksize;
More information about the svn-src-all
mailing list