Re: [tip:sched/urgent] sched: Print sched_group::__cpu_power insched_domain_debug

From: Gautham R Shenoy
Date: Mon Apr 13 2009 - 23:40:01 EST


On Tue, Apr 14, 2009 at 02:09:34AM +0200, Ingo Molnar wrote:
>
> * Tony Luck <tony.luck@xxxxxxxxx> 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@xxxxxxxxxx>

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@xxxxxxxxxx>
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@xxxxxxxxx>
Signed-off-by: Gautham R Shenoy <ego@xxxxxxxxxx>
---

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/