[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090414170621.GA1733@in.ibm.com>
Date: Tue, 14 Apr 2009 22:36:21 +0530
From: Gautham R Shenoy <ego@...ibm.com>
To: "Luck, Tony" <tony.luck@...el.com>
Cc: Ingo Molnar <mingo@...e.hu>, "mingo@...hat.com" <mingo@...hat.com>,
"hpa@...or.com" <hpa@...or.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"a.p.zijlstra@...llo.nl" <a.p.zijlstra@...llo.nl>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"linux-tip-commits@...r.kernel.org"
<linux-tip-commits@...r.kernel.org>
Subject: Re: [tip:sched/urgent] sched: Print sched_group::__cpu_power in
sched_domain_debug
On Tue, Apr 14, 2009 at 09:29:53AM -0700, Luck, Tony wrote:
> - printk(KERN_CONT " %s (__cpu_power = %d)", str,
> - group->__cpu_power);
> + if (group->__cpu_power != SCHED_LOAD_SCALE)
> + printk(KERN_CONT " %s (__cpu_power = %d)", str,
> + group->__cpu_power);
>
> Much quieter ... but perhaps a little too quiet?
> Is this what you want? Now the console output looks like this:
>
> CPU0 attaching sched-domain:
> domain 0: span 0-15 level CPU
> groups:
> CPU1 attaching sched-domain:
> domain 0: span 0-15 level CPU
> groups:
> CPU2 attaching sched-domain:
> domain 0: span 0-15 level CPU
> groups:
> ...
>
> instead of the original:
>
> CPU0 attaching sched-domain:
> domain 0: span 0-15 level CPU
> groups: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> CPU1 attaching sched-domain:
> domain 0: span 0-15 level CPU
> groups: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
> CPU2 attaching sched-domain:
> domain 0: span 0-15 level CPU
> groups: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1
> ...
>
> Either we don't need the empty "groups:" line, or we should
> still list the cpus in the group? I'm not really sure what
> information you are trying to convey here.
We should be listing the cpus in the group. We should not be listing the
__cpu_power of the group, if the __cpu_power has the default value. In
the patch that I sent this morning, I made a mistake by making dependent
the printing of both cpus as well as __cpu_power, on the if
condition which checks if __cpu_power is default or not.
if (group->__cpu_power != SCHED_LOAD_SCALE)
printk(KERN_CONT " %s (__cpu_power = %d)", str,
group->__cpu_power);
Unfortunately for me, it's not the first goof up I've been involved in
today. Please find the updated patch below.
---->
sched: Avoid printing sched_group::__cpu_power for default case.
From: Gautham R Shenoy <ego@...ibm.com>
The following commit produces a messy dmesg output while attempting to print
the sched_group::__cpu_power for each group in the sched_domain hierarchy.
commit 46e0bb9c12f4bab539736f1714cbf16600f681ec
Author: Gautham R Shenoy <ego@...ibm.com>
Date: Mon Mar 30 10:25:20 2009 +0530
sched: Print sched_group::__cpu_power in sched_domain_debug
Fix this by avoid printing the __cpu_power for default cases.
(i.e, __cpu_power == SCHED_LOAD_SCALE).
Reported-by: Tony Luck <tony.luck@...el.com>
Signed-off-by: Gautham R Shenoy <ego@...ibm.com>
---
kernel/sched.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c
index 681d4ae..db2df70 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7467,7 +7467,9 @@ static int sched_domain_debug_one(struct sched_domain *sd, int cpu, int level,
cpumask_or(groupmask, groupmask, sched_group_cpus(group));
cpulist_scnprintf(str, sizeof(str), sched_group_cpus(group));
- printk(KERN_CONT " %s (__cpu_power = %d)", str,
+ printk(KERN_CONT " %s", str);
+ if (group->__cpu_power != SCHED_LOAD_SCALE)
+ printk(KERN_CONT " (__cpu_power = %d)",
group->__cpu_power);
group = group->next;
--
Thanks and Regards
gautham
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists