Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1536636 > unrolled thread

[PATCH 05/10] perf sched timehist: Cleanup idle_max_cpu handling

Started byNamhyung Kim <namhyung@kernel.org>
First post2016-12-06 04:50 +0100
Last post2016-12-07 19:30 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 05/10] perf sched timehist: Cleanup idle_max_cpu handling Namhyung Kim <namhyung@kernel.org> - 2016-12-06 04:50 +0100
    Re: [PATCH 05/10] perf sched timehist: Cleanup idle_max_cpu handling David Ahern <dsahern@gmail.com> - 2016-12-06 05:10 +0100
    [tip:perf/core] perf sched timehist: Cleanup idle_max_cpu handling tip-bot for Namhyung Kim <tipbot@zytor.com> - 2016-12-07 19:30 +0100

#1536636 — [PATCH 05/10] perf sched timehist: Cleanup idle_max_cpu handling

FromNamhyung Kim <namhyung@kernel.org>
Date2016-12-06 04:50 +0100
Subject[PATCH 05/10] perf sched timehist: Cleanup idle_max_cpu handling
Message-ID<sLeVr-55B-11@gated-at.bofh.it>
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>
---
 tools/perf/builtin-sched.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index 5f69c9b9c78f..26efa99567b8 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -2005,7 +2005,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) {
@@ -2026,7 +2026,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]);
 	}
@@ -2049,8 +2049,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;
@@ -2492,7 +2491,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;
-- 
2.10.1

[toc] | [next] | [standalone]


#1536658

FromDavid Ahern <dsahern@gmail.com>
Date2016-12-06 05:10 +0100
Message-ID<sLfeO-5sX-5@gated-at.bofh.it>
In reply to#1536636
On 12/5/16 7:40 PM, Namhyung Kim wrote:
> 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>
> ---
>  tools/perf/builtin-sched.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 

Seems correct. I've lost track of how idle_max_cpu ended up like that.

Acked-by: David Ahern <dsahern@gmail.com>

[toc] | [prev] | [next] | [standalone]


#1537984 — [tip:perf/core] perf sched timehist: Cleanup idle_max_cpu handling

Fromtip-bot for Namhyung Kim <tipbot@zytor.com>
Date2016-12-07 19:30 +0100
Subject[tip:perf/core] perf sched timehist: Cleanup idle_max_cpu handling
Message-ID<sLP8C-3DP-45@gated-at.bofh.it>
In reply to#1536636
Commit-ID:  b336352b417edd8c058c9e09d136728b6e2ff56d
Gitweb:     http://git.kernel.org/tip/b336352b417edd8c058c9e09d136728b6e2ff56d
Author:     Namhyung Kim <namhyung@kernel.org>
AuthorDate: Tue, 6 Dec 2016 12:40:05 +0900
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 7 Dec 2016 12:00:34 -0300

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>
---
 tools/perf/builtin-sched.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index c8b3e6c..1a3f1be 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -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;

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web