[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTikUGwkOwUoGcti0SOFWVKxAMZNUk9c30oBRFmMx@mail.gmail.com>
Date: Fri, 18 Mar 2011 18:23:58 -0700
From: Venkatesh Pallipadi <venki@...gle.com>
To: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Anton Blanchard <anton@....ibm.com>,
Srivatsa Vaddagiri <vatsa@...ux.vnet.ibm.com>,
Suresh Siddha <suresh.b.siddha@...el.com>,
Paul Turner <pjt@...gle.com>, Mike Galbraith <efault@....de>,
Thomas Gleixner <tglx@...utronix.de>,
Heiko Carstens <heiko.carstens@...ibm.com>,
Andreas Herrmann <andreas.herrmann3@....com>
Subject: Re: [RFC][PATCH 09/14] sched: Dynamically allocate
sched_domain/sched_group data-structures
On Mon, Mar 14, 2011 at 8:06 AM, Peter Zijlstra <a.p.zijlstra@...llo.nl> wrote:
> @@ -1721,10 +1724,11 @@ select_task_rq_fair(struct rq *rq, struc
> }
>
> if (affine_sd) {
> - if (cpu == prev_cpu || wake_affine(affine_sd, p, sync))
> - return select_idle_sibling(p, cpu);
> - else
> - return select_idle_sibling(p, prev_cpu);
> + if (wake_affine(affine_sd, p, sync))
> + prev_cpu = cpu;
> +
> + new_cpu = select_idle_sibling(p, prev_cpu);
> + goto unlock;
> }
>
> while (sd) {
This would result in going through wake_affine() doing all
effective_load stuff even with cpu == prev_cpu. No?
So, we need either if (cpu != prev_cpu && wake_affine(affine_sd, p,
sync)) or an check at the start to have want_affine=0 for this case.
Overall patchset looks great!
Thanks,
Venki
--
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