diff options
Diffstat (limited to 'tools/tools/netrate/tcpp/tcpp_client.c')
-rw-r--r-- | tools/tools/netrate/tcpp/tcpp_client.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/tools/tools/netrate/tcpp/tcpp_client.c b/tools/tools/netrate/tcpp/tcpp_client.c index 6c3e800..f45dca0 100644 --- a/tools/tools/netrate/tcpp/tcpp_client.c +++ b/tools/tools/netrate/tcpp/tcpp_client.c @@ -224,17 +224,19 @@ tcpp_client_worker(int workernum) int ncpus; size_t len; - len = sizeof(ncpus); - if (sysctlbyname(SYSCTLNAME_CPUS, &ncpus, &len, NULL, 0) < 0) - err(-1, "sysctlbyname: %s", SYSCTLNAME_CPUS); - if (len != sizeof(ncpus)) - errx(-1, "sysctlbyname: %s: len %jd", SYSCTLNAME_CPUS, - (intmax_t)len); - - CPU_ZERO(&mask); - CPU_SET(workernum % ncpus, &mask); - if (sched_setaffinity(0, CPU_SETSIZE, &mask) < 0) - err(-1, "sched_setaffinity"); + if (Pflag) { + len = sizeof(ncpus); + if (sysctlbyname(SYSCTLNAME_CPUS, &ncpus, &len, NULL, 0) < 0) + err(-1, "sysctlbyname: %s", SYSCTLNAME_CPUS); + if (len != sizeof(ncpus)) + errx(-1, "sysctlbyname: %s: len %jd", SYSCTLNAME_CPUS, + (intmax_t)len); + + CPU_ZERO(&mask); + CPU_SET(workernum % ncpus, &mask); + if (sched_setaffinity(0, CPU_SETSIZE, &mask) < 0) + err(-1, "sched_setaffinity"); + } #endif setproctitle("tcpp_client %d", workernum); |