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