diff options
author | Namhyung Kim <namhyung@kernel.org> | 2016-12-05 22:40:05 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-12-07 10:00:34 -0500 |
commit | b336352b417edd8c058c9e09d136728b6e2ff56d (patch) | |
tree | 8fabbd3039798fc3e1ddabd3f8f48c23a1f1ba96 | |
parent | 5d92d96a947a5d0d83710d11750bb29a0c1b985d (diff) |
perf sched timehist: Cleanup idle_max_cpu handling
It treats the idle_max_cpu little bit confusingly IMHO. Let's make it
more straight forward.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20161206034010.6499-6-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/builtin-sched.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index c8b3e6c330c3..1a3f1be93372 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c | |||
@@ -2010,7 +2010,7 @@ static int init_idle_threads(int ncpu) | |||
2010 | if (!idle_threads) | 2010 | if (!idle_threads) |
2011 | return -ENOMEM; | 2011 | return -ENOMEM; |
2012 | 2012 | ||
2013 | idle_max_cpu = ncpu - 1; | 2013 | idle_max_cpu = ncpu; |
2014 | 2014 | ||
2015 | /* allocate the actual thread struct if needed */ | 2015 | /* allocate the actual thread struct if needed */ |
2016 | for (i = 0; i < ncpu; ++i) { | 2016 | for (i = 0; i < ncpu; ++i) { |
@@ -2031,7 +2031,7 @@ static void free_idle_threads(void) | |||
2031 | if (idle_threads == NULL) | 2031 | if (idle_threads == NULL) |
2032 | return; | 2032 | return; |
2033 | 2033 | ||
2034 | for (i = 0; i <= idle_max_cpu; ++i) { | 2034 | for (i = 0; i < idle_max_cpu; ++i) { |
2035 | if ((idle_threads[i])) | 2035 | if ((idle_threads[i])) |
2036 | thread__delete(idle_threads[i]); | 2036 | thread__delete(idle_threads[i]); |
2037 | } | 2037 | } |
@@ -2054,8 +2054,7 @@ static struct thread *get_idle_thread(int cpu) | |||
2054 | return NULL; | 2054 | return NULL; |
2055 | 2055 | ||
2056 | idle_threads = (struct thread **) p; | 2056 | idle_threads = (struct thread **) p; |
2057 | i = idle_max_cpu ? idle_max_cpu + 1 : 0; | 2057 | for (i = idle_max_cpu; i < j; ++i) |
2058 | for (; i < j; ++i) | ||
2059 | idle_threads[i] = NULL; | 2058 | idle_threads[i] = NULL; |
2060 | 2059 | ||
2061 | idle_max_cpu = j; | 2060 | idle_max_cpu = j; |
@@ -2495,7 +2494,7 @@ static void timehist_print_summary(struct perf_sched *sched, | |||
2495 | return; | 2494 | return; |
2496 | 2495 | ||
2497 | printf("\nIdle stats:\n"); | 2496 | printf("\nIdle stats:\n"); |
2498 | for (i = 0; i <= idle_max_cpu; ++i) { | 2497 | for (i = 0; i < idle_max_cpu; ++i) { |
2499 | t = idle_threads[i]; | 2498 | t = idle_threads[i]; |
2500 | if (!t) | 2499 | if (!t) |
2501 | continue; | 2500 | continue; |