Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Sep 2016 00:22:42 +0000 (UTC)
From:      "George V. Neville-Neil" <gnn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r305312 - head/tools/tools/crypto
Message-ID:  <201609030022.u830MgPs078388@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609030022.u830MgPs078388>