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); } _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"