lkml.org 
[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [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@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 | 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


    \
     
     \ /
      Last update: 2009-04-14 19:09    [W:0.031 / U:0.200 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site