On Wed, 2015-04-08 at 16:42 +0530, Srikar Dronamraju wrote: > * Jason Low <jason.l...@hp.com> [2015-04-07 17:07:46]: > > > On Tue, 2015-04-07 at 16:28 -0700, Jason Low wrote: > > > > > Okay, so perhaps we can also try continuing nohz load balancing if we > > > find that there are overloaded CPUs in the system. > > > > Something like the following. > > > > --- > > 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; > > Why are we updating nohz.next_balance here?
This was just to make sure that since we're continuing the balancing on another CPU that the nohz next_balance is guaranteed to be "now". > > + 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 || > > Would it make sense to add need_resched here like > http://mid.gmane.org/1427442750-8112-1-git-send-email-wanpeng...@linux.intel.com Yeah, we could have incorporated adding the need_resched there too for testing purposes. Though that probably wouldn't make too much of a difference in performance with this patch, since this also modified the need_resched() check in the loop + nohz.next_balance. So I think it would still be fine to test this without the added need_resched(). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/