[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 04 Apr 2013 14:59:40 +0900
From: Namhyung Kim <namhyung@...nel.org>
To: Alex Shi <alex.shi@...el.com>
Cc: mingo@...hat.com, peterz@...radead.org, tglx@...utronix.de,
akpm@...ux-foundation.org, arjan@...ux.intel.com, bp@...en8.de,
pjt@...gle.com, efault@....de, morten.rasmussen@....com,
vincent.guittot@...aro.org, gregkh@...uxfoundation.org,
preeti@...ux.vnet.ibm.com, viresh.kumar@...aro.org,
linux-kernel@...r.kernel.org, len.brown@...el.com,
rafael.j.wysocki@...el.com, jkosina@...e.cz,
clark.williams@...il.com, tony.luck@...el.com,
keescook@...omium.org, mgorman@...e.de, riel@...hat.com
Subject: Re: [patch v7 15/21] sched: pull all tasks from source group
Hi Alex,
On Thu, 4 Apr 2013 10:00:56 +0800, Alex Shi wrote:
> In power balance, we hope some sched groups are fully empty to save
> CPU power of them. So, we want to move any tasks from them.
>
> Signed-off-by: Alex Shi <alex.shi@...el.com>
> ---
> kernel/sched/fair.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index f861427..0dd29f4 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -5105,7 +5105,9 @@ static struct rq *find_busiest_queue(struct lb_env *env,
> * When comparing with imbalance, use weighted_cpuload()
> * which is not scaled with the cpu power.
> */
> - if (capacity && rq->nr_running == 1 && wl > env->imbalance)
> + if (rq->nr_running == 0 ||
> + (!(env->flags & LBF_POWER_BAL) && capacity &&
> + rq->nr_running == 1 && wl > env->imbalance))
Just out of curious.
In load_balance(), we only move normal tasks, right?
Then shouldn't it check rq->cfs.h_nr_running rather than rq->nr_running?
Thanks,
Namhyung
> continue;
>
> /*
> @@ -5208,7 +5210,8 @@ redo:
>
> ld_moved = 0;
> lb_iterations = 1;
> - if (busiest->nr_running > 1) {
> + if (busiest->nr_running > 1 ||
> + (busiest->nr_running == 1 && env.flags & LBF_POWER_BAL)) {
> /*
> * Attempt to move tasks. If find_busiest_group has found
> * an imbalance but busiest->nr_running <= 1, the group is
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists