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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@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 |    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-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux