perf sched timehist: Cleanup idle_max_cpu handling
authorNamhyung Kim <namhyung@kernel.org>
Tue, 6 Dec 2016 03:40:05 +0000 (12:40 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 7 Dec 2016 15:00:34 +0000 (12:00 -0300)
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>
tools/perf/builtin-sched.c

index c8b3e6c..1a3f1be 100644 (file)
@@ -2010,7 +2010,7 @@ static int init_idle_threads(int ncpu)
        if (!idle_threads)
                return -ENOMEM;
 
-       idle_max_cpu = ncpu - 1;
+       idle_max_cpu = ncpu;
 
        /* allocate the actual thread struct if needed */
        for (i = 0; i < ncpu; ++i) {
@@ -2031,7 +2031,7 @@ static void free_idle_threads(void)
        if (idle_threads == NULL)
                return;
 
-       for (i = 0; i <= idle_max_cpu; ++i) {
+       for (i = 0; i < idle_max_cpu; ++i) {
                if ((idle_threads[i]))
                        thread__delete(idle_threads[i]);
        }
@@ -2054,8 +2054,7 @@ static struct thread *get_idle_thread(int cpu)
                        return NULL;
 
                idle_threads = (struct thread **) p;
-               i = idle_max_cpu ? idle_max_cpu + 1 : 0;
-               for (; i < j; ++i)
+               for (i = idle_max_cpu; i < j; ++i)
                        idle_threads[i] = NULL;
 
                idle_max_cpu = j;
@@ -2495,7 +2494,7 @@ static void timehist_print_summary(struct perf_sched *sched,
                return;
 
        printf("\nIdle stats:\n");
-       for (i = 0; i <= idle_max_cpu; ++i) {
+       for (i = 0; i < idle_max_cpu; ++i) {
                t = idle_threads[i];
                if (!t)
                        continue;