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


Groups > linux.kernel > #1393032 > unrolled thread

[PATCH] sched/debug: fix idle balance factors aren't printed out if w/o CONFIG_SCHEDSTATS

Started byWanpeng Li <kernellwp@gmail.com>
First post2016-05-03 06:40 +0200
Last post2016-05-05 11:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] sched/debug: fix idle balance factors aren't printed out if w/o CONFIG_SCHEDSTATS Wanpeng Li <kernellwp@gmail.com> - 2016-05-03 06:40 +0200
    [tip:sched/core] sched/debug: Print out idle balance values even on  !CONFIG_SCHEDSTATS kernels tip-bot for Wanpeng Li <tipbot@zytor.com> - 2016-05-05 11:50 +0200

#1393032 — [PATCH] sched/debug: fix idle balance factors aren't printed out if w/o CONFIG_SCHEDSTATS

FromWanpeng Li <kernellwp@gmail.com>
Date2016-05-03 06:40 +0200
Subject[PATCH] sched/debug: fix idle balance factors aren't printed out if w/o CONFIG_SCHEDSTATS
Message-ID<ruAhP-199-1@gated-at.bofh.it>
From: Wanpeng Li <wanpeng.li@hotmail.com>

max_idle_balance_cost and avg_idle which used to capture short idle 
are not associated with schedstats, however, the information of these
two factors are't printed out if w/o CONFIG_SCHEDSTATS. 

This patch fix it by moving max_idle_balance_cost and avg_idle print 
out of CONFIG_SCHEDSTATS.

Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
---
 kernel/sched/debug.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 4fbc3bd..cf905f6 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -626,15 +626,16 @@ do {									\
 #undef P
 #undef PN
 
-#ifdef CONFIG_SCHEDSTATS
-#define P(n) SEQ_printf(m, "  .%-30s: %d\n", #n, rq->n);
-#define P64(n) SEQ_printf(m, "  .%-30s: %Ld\n", #n, rq->n);
-
 #ifdef CONFIG_SMP
+#define P64(n) SEQ_printf(m, "  .%-30s: %Ld\n", #n, rq->n);
 	P64(avg_idle);
 	P64(max_idle_balance_cost);
+#undef P64
 #endif
 
+#ifdef CONFIG_SCHEDSTATS
+#define P(n) SEQ_printf(m, "  .%-30s: %d\n", #n, rq->n);
+
 	if (schedstat_enabled()) {
 		P(yld_count);
 		P(sched_count);
@@ -644,7 +645,6 @@ do {									\
 	}
 
 #undef P
-#undef P64
 #endif
 	spin_lock_irqsave(&sched_debug_lock, flags);
 	print_cfs_stats(m, cpu);
-- 
1.7.1

[toc] | [next] | [standalone]


#1394991 — [tip:sched/core] sched/debug: Print out idle balance values even on !CONFIG_SCHEDSTATS kernels

Fromtip-bot for Wanpeng Li <tipbot@zytor.com>
Date2016-05-05 11:50 +0200
Subject[tip:sched/core] sched/debug: Print out idle balance values even on !CONFIG_SCHEDSTATS kernels
Message-ID<rvo4X-5Xt-29@gated-at.bofh.it>
In reply to#1393032
Commit-ID:  db6ea2fb094fb3a6afc36d3e4229bc162638ad24
Gitweb:     http://git.kernel.org/tip/db6ea2fb094fb3a6afc36d3e4229bc162638ad24
Author:     Wanpeng Li <wanpeng.li@hotmail.com>
AuthorDate: Tue, 3 May 2016 12:38:25 +0800
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 5 May 2016 09:41:09 +0200

sched/debug: Print out idle balance values even on !CONFIG_SCHEDSTATS kernels

The max_idle_balance_cost and avg_idle values which are tracked and ar used to
capture short idle incidents, are not associated with schedstats, however the
information of these two values isn't printed out on !CONFIG_SCHEDSTATS kernels.

Fix this by moving the value printout out of the CONFIG_SCHEDSTATS section.

Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1462250305-4523-1-git-send-email-wanpeng.li@hotmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/debug.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 4fbc3bd..cf905f6 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -626,15 +626,16 @@ do {									\
 #undef P
 #undef PN
 
-#ifdef CONFIG_SCHEDSTATS
-#define P(n) SEQ_printf(m, "  .%-30s: %d\n", #n, rq->n);
-#define P64(n) SEQ_printf(m, "  .%-30s: %Ld\n", #n, rq->n);
-
 #ifdef CONFIG_SMP
+#define P64(n) SEQ_printf(m, "  .%-30s: %Ld\n", #n, rq->n);
 	P64(avg_idle);
 	P64(max_idle_balance_cost);
+#undef P64
 #endif
 
+#ifdef CONFIG_SCHEDSTATS
+#define P(n) SEQ_printf(m, "  .%-30s: %d\n", #n, rq->n);
+
 	if (schedstat_enabled()) {
 		P(yld_count);
 		P(sched_count);
@@ -644,7 +645,6 @@ do {									\
 	}
 
 #undef P
-#undef P64
 #endif
 	spin_lock_irqsave(&sched_debug_lock, flags);
 	print_cfs_stats(m, cpu);

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web