On Thu, 14 Aug 2014, Joakim Hernberg wrote: > When I boot my 8 core i7 laptop with the maxcpus=4 kernel boot flag, > cyclictest -S runs 8 threads. This patch makes it only use the online > cpus instead. > > diff --git a/src/cyclictest/cyclictest.c > b/src/cyclictest/cyclictest.c index 4547831..92fc346 100644 > --- a/src/cyclictest/cyclictest.c > +++ b/src/cyclictest/cyclictest.c > @@ -1740,7 +1740,7 @@ int main(int argc, char **argv) > sigset_t sigset; > int signum = SIGALRM; > int mode; > - int max_cpus = sysconf(_SC_NPROCESSORS_CONF); > + int max_cpus = sysconf(_SC_NPROCESSORS_ONLN); > int i, ret = -1; > int status; > > diff --git a/src/cyclictest/rt_numa.h b/src/cyclictest/rt_numa.h > index e64c446..c2b3e85 100644 > --- a/src/cyclictest/rt_numa.h > +++ b/src/cyclictest/rt_numa.h > @@ -128,7 +128,7 @@ static int rt_numa_numa_node_of_cpu(int cpu) > int max_node, max_cpus; > > max_node = numa_max_node(); > - max_cpus = sysconf(_SC_NPROCESSORS_CONF); > + max_cpus = sysconf(_SC_NPROCESSORS_ONLN); > > if (cpu > max_cpus) { > errno = EINVAL; > > -- This is fine, in anycase, it's not less robust than what we are currently doing. (I suppose we really should be checking the result of sysconf) I changed the description a little bit. Clark, I pushed the following version to my repo, please pull >From 863f1482220034de0a85f8150384931318325953 Mon Sep 17 00:00:00 2001 From: Joakim Hernberg <jbh@xxxxxxxxxx> Date: Thu, 14 Aug 2014 19:29:29 +0200 Subject: [PATCH] cyclictest: make affinity option only use number of online cpus When I boot my 8 core i7 laptop with the maxcpus=4 kernel boot flag, cyclictest -S runs 8 threads. This patch makes it only use the number of online cpus instead. Signed-off-by: Joakim Hernberg <jhernberg@xxxxxxxxxx> Signed-off-by: John Kacur <jkacur@xxxxxxxxxx> --- src/cyclictest/cyclictest.c | 2 +- src/cyclictest/rt_numa.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c index a3e7b1d6c377..c727d54364b1 100644 --- a/src/cyclictest/cyclictest.c +++ b/src/cyclictest/cyclictest.c @@ -1763,7 +1763,7 @@ int main(int argc, char **argv) sigset_t sigset; int signum = SIGALRM; int mode; - int max_cpus = sysconf(_SC_NPROCESSORS_CONF); + int max_cpus = sysconf(_SC_NPROCESSORS_ONLN); int i, ret = -1; int status; diff --git a/src/cyclictest/rt_numa.h b/src/cyclictest/rt_numa.h index 60a143721da1..06c9420e53cc 100644 --- a/src/cyclictest/rt_numa.h +++ b/src/cyclictest/rt_numa.h @@ -128,7 +128,7 @@ static int rt_numa_numa_node_of_cpu(int cpu) int max_node, max_cpus; max_node = numa_max_node(); - max_cpus = sysconf(_SC_NPROCESSORS_CONF); + max_cpus = sysconf(_SC_NPROCESSORS_ONLN); if (cpu > max_cpus) { errno = EINVAL; -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html