From: Jason Low <jason.low2@hp.com>
To: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Cc: Morten Rasmussen <morten.rasmussen@arm.com>,
"peterz@infradead.org" <peterz@infradead.org>,
"mingo@kernel.org" <mingo@kernel.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
"riel@redhat.com" <riel@redhat.com>,
"vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
"srikar@linux.vnet.ibm.com" <srikar@linux.vnet.ibm.com>,
"pjt@google.com" <pjt@google.com>,
"benh@kernel.crashing.org" <benh@kernel.crashing.org>,
"efault@gmx.de" <efault@gmx.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"iamjoonsoo.kim@lge.com" <iamjoonsoo.kim@lge.com>,
"svaidy@linux.vnet.ibm.com" <svaidy@linux.vnet.ibm.com>,
"tim.c.chen@linux.intel.com" <tim.c.chen@linux.intel.com>,
jason.low2@hp.com
Subject: Re: sched: Improve load balancing in the presence of idle CPUs
Date: Mon, 13 Apr 2015 15:49:20 -0700 [thread overview]
Message-ID: <1428965360.2605.33.camel@j-VirtualBox> (raw)
In-Reply-To: <552B5F4F.3030205@linux.vnet.ibm.com>
> > ---
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > index fdae26e..d636bf7 100644
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -7620,6 +7620,16 @@ out:
> > }
> >
> > #ifdef CONFIG_NO_HZ_COMMON
> > +static inline bool nohz_kick_needed(struct rq *rq);
> > +
> > +static inline void pass_nohz_balance(struct rq *this_rq, int this_cpu)
> > +{
> > + clear_bit(NOHZ_BALANCE_KICK, nohz_flags(this_cpu));
> > + nohz.next_balance = jiffies;
> > + if (nohz_kick_needed(this_rq))
> > + nohz_balancer_kick();
> > +}
> > +
> > /*
> > * In CONFIG_NO_HZ_COMMON case, the idle balance kickee will do the
> > * rebalancing for all the cpus for whom scheduler ticks are stopped.
> > @@ -7631,8 +7641,10 @@ static void nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle)
> > int balance_cpu;
> >
> > if (idle != CPU_IDLE ||
> > - !test_bit(NOHZ_BALANCE_KICK, nohz_flags(this_cpu)))
> > - goto end;
> > + !test_bit(NOHZ_BALANCE_KICK, nohz_flags(this_cpu))) {
> > + pass_nohz_balance(this_rq, this_cpu);
> > + return;
> > + }
hmm, so taking a look at the patch again, it looks like we pass nohz
balance even when the NOHZ_BALANCE_KICK is not set on the current CPU.
We should separate the 2 conditions:
if (!test_bit(NOHZ_BALANCE_KICK, nohz_flags(this_cpu)))
return;
if (idle != CPU_IDLE) {
/* another CPU continue balancing */
pass_nohz_balance(this_rq, this_cpu);
return;
}
In general, separating the check also optimizes nohz_idle_balance() to
avoid clearing the bit when it is not set.
next prev parent reply other threads:[~2015-04-13 22:49 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-30 18:55 sched: Improve load balancing in the presence of idle CPUs Jason Low
2015-03-31 8:37 ` Preeti U Murthy
2015-03-31 18:54 ` Jason Low
2015-04-01 6:49 ` Preeti U Murthy
2015-04-01 17:04 ` Morten Rasmussen
2015-04-02 3:30 ` Jason Low
2015-04-02 8:49 ` Morten Rasmussen
2015-04-02 5:59 ` Jason Low
2015-04-02 8:42 ` Preeti U Murthy
2015-04-02 9:17 ` Morten Rasmussen
2015-04-02 17:22 ` Jason Low
2015-04-03 22:35 ` Tim Chen
2015-04-07 17:42 ` Jason Low
2015-04-07 19:39 ` Tim Chen
2015-04-07 20:24 ` Jason Low
2015-04-04 9:59 ` Preeti U Murthy
2015-04-07 23:28 ` Jason Low
2015-04-08 0:07 ` Jason Low
2015-04-08 11:12 ` Srikar Dronamraju
2015-04-08 21:22 ` Jason Low
2015-04-10 8:37 ` Srikar Dronamraju
2015-04-13 18:55 ` Jason Low
2015-04-13 20:54 ` Jason Low
2015-04-09 2:39 ` Jason Low
2015-04-09 7:02 ` Srikar Dronamraju
2015-04-09 22:49 ` Jason Low
2015-04-13 6:16 ` Preeti U Murthy
2015-04-13 22:49 ` Jason Low [this message]
2015-04-14 2:59 ` Jason Low
2015-04-02 2:11 ` Jason Low
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1428965360.2605.33.camel@j-VirtualBox \
--to=jason.low2@hp.com \
--cc=benh@kernel.crashing.org \
--cc=daniel.lezcano@linaro.org \
--cc=efault@gmx.de \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=morten.rasmussen@arm.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=preeti@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=srikar@linux.vnet.ibm.com \
--cc=svaidy@linux.vnet.ibm.com \
--cc=tim.c.chen@linux.intel.com \
--cc=vincent.guittot@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.