svn commit: r293864 - head/usr.bin/numactl

Eric van Gyzen vangyzen at FreeBSD.org
Thu Jan 14 01:34:43 UTC 2016


Author: vangyzen
Date: Thu Jan 14 01:34:41 2016
New Revision: 293864
URL: https://svnweb.freebsd.org/changeset/base/293864

Log:
  numactl: fix CPU affinity when modifying an existing process or thread
  
  numactl was only modifying its own CPU affinity, which is fine
  when creating a new process, but not very helpful when modifying
  an existing processes.
  
  Reviewed by:	adrian
  Sponsored by:	Dell Inc.
  Differential Revision:	https://reviews.freebsd.org/D4927

Modified:
  head/usr.bin/numactl/numactl.c

Modified: head/usr.bin/numactl/numactl.c
==============================================================================
--- head/usr.bin/numactl/numactl.c	Thu Jan 14 01:33:16 2016	(r293863)
+++ head/usr.bin/numactl/numactl.c	Thu Jan 14 01:34:41 2016	(r293864)
@@ -133,7 +133,7 @@ usage(void)
 }
 
 static int
-set_numa_domain_cpuaffinity(int cpu_domain)
+set_numa_domain_cpuaffinity(int cpu_domain, cpuwhich_t which, id_t id)
 {
 	cpuset_t set;
 	int error;
@@ -142,8 +142,8 @@ set_numa_domain_cpuaffinity(int cpu_doma
 	    cpu_domain, sizeof(set), &set);
 	if (error != 0)
 		err(1, "cpuset_getaffinity");
-	error = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1,
-	    sizeof(set), &set);
+	error = cpuset_setaffinity(CPU_LEVEL_WHICH, which, id, sizeof(set),
+	    &set);
 	if (error != 0)
 		err(1, "cpuset_setaffinity");
 
@@ -228,7 +228,8 @@ main(int argc, char *argv[])
 
 		/* If a CPU domain policy was given, include that too */
 		if (cpu_domain != -1)
-			(void) set_numa_domain_cpuaffinity(cpu_domain);
+			(void) set_numa_domain_cpuaffinity(cpu_domain,
+			    CPU_WHICH_PID, -1);
 
 		errno = 0;
 		execvp(*argv, argv);
@@ -278,7 +279,7 @@ main(int argc, char *argv[])
 
 	/* If a CPU domain policy was given, include that too */
 	if (cpu_domain != -1)
-		(void) set_numa_domain_cpuaffinity(cpu_domain);
+		(void) set_numa_domain_cpuaffinity(cpu_domain, which, id);
 
 	exit(0);
 }


More information about the svn-src-head mailing list