lkml.org 
[lkml]   [2013]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [tip:sched/core] sched/fair: Fix group power_orig computation
    On Tue, Nov 12, 2013 at 04:25:47PM +0530, Srikar Dronamraju wrote:
    > From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    > Date: Tue, 12 Nov 2013 03:05:31 -0500
    > Subject: [PATCH] sched: Check sched_domain before computing group power.
    >
    > After Commit-id 863bffc80898 (sched/fair: Fix group power_orig
    > computation), we might end up computing group power before the
    > sched_domain for a cpu is updated.
    >
    > Check for rq->sd before updating group power.
    >
    > Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>

    Thanks! My head hurts a bit from going through the overlap init paths
    but this does indeed revert to the previous behaviour.

    I'm not entirely sure if either are fully correct, but given we
    initialize the sgp->power to some 'reasonable' default we can rely on
    runtime updates to correct any funnies.

    > ---
    > kernel/sched/fair.c | 7 ++++++-
    > 1 files changed, 6 insertions(+), 1 deletions(-)
    >
    > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
    > index df77c60..f86f704 100644
    > --- a/kernel/sched/fair.c
    > +++ b/kernel/sched/fair.c
    > @@ -5354,8 +5354,13 @@ void update_group_power(struct sched_domain *sd, int cpu)
    > */
    >
    > for_each_cpu(cpu, sched_group_cpus(sdg)) {
    > - struct sched_group *sg = cpu_rq(cpu)->sd->groups;
    > + struct rq *rq = cpu_rq(cpu);
    > + struct sched_group *sg;
    >
    > + if (!rq->sd)
    > + continue;
    > +
    > + sg = rq->sd->groups;
    > power_orig += sg->sgp->power_orig;
    > power += sg->sgp->power;
    > }
    > --
    > 1.7.1
    >


    \
     
     \ /
      Last update: 2013-11-12 13:41    [W:3.611 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site