Re: [tip:sched/urgent] sched: Print sched_group::__cpu_power in sched_domain_debug

Gautham R Shenoy
2009-04-14T03:40:01Z

On Tue, Apr 14, 2009 at 02:09:34AM +0200, Ingo Molnar wrote:
>
> * Tony Luck <tony.luck@intel.com> wrote:
>
> > > --- a/kernel/sched.c
> > > +++ b/kernel/sched.c
> > > @@ -6963,7 +6963,8 @@ 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", str);
> > > +               printk(KERN_CONT " %s (__cpu_power = %d)", str,
> > > +                                               group->__cpu_power);
> >
> > This has added a lot of clutter to the console log during boot
> > (especially on large systems).
> >
> > Here is the start of the diff output comparing old and new console
> > messages on a 16 cpu machine:
> >
> > 77c77
> > < groups: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> > ---
> > > groups: 0 (__cpu_power = 1024) 1 (__cpu_power = 1024) 2 (__cpu_power = 1024) 3 (__cpu_power = 1024) 4 (__cpu_power = 1024) 5 (__cpu_power = 1024) 6 (__cpu_power = 1024) 7 (__cpu_power = 1024) 8 (
> > __cpu_power = 1024) 9 (__cpu_power = 1024) 10 (__cpu_power = 1024) 11
> > (__cpu_power = 1024) 12 (__cpu_power = 1024) 13 (__cpu_power = 1024)
> > 14 (__cpu_power = 1024) 15 (__cpu_power = 1024)
> > 80c80
>
> indeed ...
>
> I think we should skip the printout in the default (power==1024)
> case. Gautham?

Makes sense. Patch appended.
>
> Ingo
-->

sched: Avoid printing sched_group::__cpu_power for default case.

From: Gautham R Shenoy <ego@in.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@in.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@intel.com>
Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
---

kernel/sched.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index 681d4ae..0584e04 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7467,8 +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,
- group->__cpu_power);
+ if (group->__cpu_power != SCHED_LOAD_SCALE)
+ printk(KERN_CONT " %s (__cpu_power = %d)", str,
+ group->__cpu_power);

group = group->next;
} while (group != sd->groups);
--
Thanks and Regards
gautham