All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] make SMP option only use online cpus (cyclictest)
@ 2014-08-14 17:29 Joakim Hernberg
  2014-08-15 12:54 ` John Kacur
  0 siblings, 1 reply; 2+ messages in thread
From: Joakim Hernberg @ 2014-08-14 17:29 UTC (permalink / raw)
  To: linux-rt-users; +Cc: Clark Williams, John Kacur

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;

--

   Joakim

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [RFC PATCH] make SMP option only use online cpus (cyclictest)
  2014-08-14 17:29 [RFC PATCH] make SMP option only use online cpus (cyclictest) Joakim Hernberg
@ 2014-08-15 12:54 ` John Kacur
  0 siblings, 0 replies; 2+ messages in thread
From: John Kacur @ 2014-08-15 12:54 UTC (permalink / raw)
  To: Joakim Hernberg; +Cc: linux-rt-users, Clark Williams, John Kacur



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@alchemy.lu>
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@alchemy.lu>
Signed-off-by: John Kacur <jkacur@redhat.com>
---
 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-08-15 12:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-14 17:29 [RFC PATCH] make SMP option only use online cpus (cyclictest) Joakim Hernberg
2014-08-15 12:54 ` John Kacur

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.