From: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>,
Ingo Molnar <mingo@elte.hu>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 10/13] remove aggressive idle balancing
Date: Mon, 7 Mar 2005 23:22:15 -0800 [thread overview]
Message-ID: <20050307232214.A7715@unix-os.sc.intel.com> (raw)
In-Reply-To: <422C10A7.80002@yahoo.com.au>; from nickpiggin@yahoo.com.au on Mon, Mar 07, 2005 at 07:28:23PM +1100
Nick,
On Mon, Mar 07, 2005 at 07:28:23PM +1100, Nick Piggin wrote:
> Siddha, Suresh B wrote:
> > We are resetting the nr_balance_failed to cache_nice_tries after kicking
> > active balancing. But can_migrate_task will succeed only if
> > nr_balance_failed > cache_nice_tries.
> >
>
> It is indeed, thanks for catching that. We should probably make it
> reset the count to the point where it will start moving cache hot
> tasks (ie. cache_nice_tries+1).
That still might not be enough. We probably need to pass push_cpu's
sd to move_tasks call in active_load_balance, instead of current busiest_cpu's
sd. Just like push_cpu, we need to add one more field to the runqueue which
will specify the domain level of the push_cpu at which we have an imbalance.
>
> I'll look at that and send Andrew a patch.
>
> >
> >>That said, we currently aren't doing _really_ well for SMT on
> >>some workloads, however with this patch we are heading in the
> >>right direction I think.
> >
> >
> > Lets take an example of three packages with two logical threads each.
> > Assume P0 is loaded with two processes(one in each logical thread),
> > P1 contains only one process and P2 is idle.
> >
> > In this example, active balance will be kicked on one of the threads(assume
> > thread 0) in P0, which then should find an idle package and move it to
> > one of the idle threads in P2.
> >
> > With your current patch, idle package check in active_load_balance has
> > disappeared, and we may endup moving the process from thread 0 to thread 1
> > in P0. I can't really make logic out of the active_load_balance code
> > after your patch 10/13
> >
>
> Ah yep, right you are there, too. I obviously hadn't looked closely
> enough at the recent active_load_balance patches that had gone in :(
> What should probably do is heed the "push_cpu" prescription (push_cpu
> is now unused).
push_cpu might not be the ideal destination in all cases. Take a NUMA domain
above SMT+SMP domains in my above example. Assume P0, P1 is in node-0 and
P2, P3 in node-1. Assume Loads of P0,P1,P2 are same as the above example,with P3
containing one process load. Now any idle thread in P2 or P3 can trigger
active load balance on P0. We should be selecting thread in P2 ideally
(currently this is what we get with idle package check). But with push_cpu,
we might move to the idle thread in P3 and then finally move to P2(it will be a
two step process)
thanks,
suresh
next prev parent reply other threads:[~2005-03-08 7:24 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-24 7:14 [PATCH 0/13] Multiprocessor CPU scheduler patches Nick Piggin
2005-02-24 7:16 ` [PATCH 1/13] timestamp fixes Nick Piggin
2005-02-24 7:16 ` [PATCH 2/13] improve pinned task handling Nick Piggin
2005-02-24 7:18 ` [PATCH 3/13] rework schedstats Nick Piggin
2005-02-24 7:19 ` [PATCH 4/13] find_busiest_group fixlets Nick Piggin
2005-02-24 7:20 ` [PATCH 5/13] find_busiest_group cleanup Nick Piggin
2005-02-24 7:21 ` [PATCH 6/13] no aggressive idle balancing Nick Piggin
2005-02-24 7:22 ` [PATCH 7/13] better active balancing heuristic Nick Piggin
2005-02-24 7:24 ` [PATCH 8/13] generalised CPU load averaging Nick Piggin
2005-02-24 7:25 ` [PATCH 9/13] less affine wakups Nick Piggin
2005-02-24 7:27 ` [PATCH 10/13] remove aggressive idle balancing Nick Piggin
2005-02-24 7:28 ` [PATCH 11/13] sched-domains aware balance-on-fork Nick Piggin
2005-02-24 7:28 ` [PATCH 12/13] schedstats additions for sched-balance-fork Nick Piggin
2005-02-24 7:30 ` [PATCH 13/13] basic tuning Nick Piggin
2005-02-24 8:46 ` [PATCH 12/13] schedstats additions for sched-balance-fork Ingo Molnar
2005-02-24 22:13 ` Nick Piggin
2005-02-25 11:07 ` Rick Lindsley
2005-02-25 11:21 ` Nick Piggin
2005-02-24 8:41 ` [PATCH 10/13] remove aggressive idle balancing Ingo Molnar
2005-02-24 12:13 ` Nick Piggin
2005-02-24 12:16 ` Ingo Molnar
2005-03-06 5:43 ` Siddha, Suresh B
2005-03-07 5:34 ` Nick Piggin
2005-03-07 8:04 ` Siddha, Suresh B
2005-03-07 8:28 ` Nick Piggin
2005-03-08 7:22 ` Siddha, Suresh B [this message]
2005-03-08 8:17 ` Nick Piggin
2005-03-08 19:36 ` Siddha, Suresh B
2005-02-24 8:39 ` [PATCH 7/13] better active balancing heuristic Ingo Molnar
2005-02-24 8:36 ` [PATCH 4/13] find_busiest_group fixlets Ingo Molnar
2005-02-24 8:07 ` [PATCH 3/13] rework schedstats Ingo Molnar
2005-02-25 10:50 ` Rick Lindsley
2005-02-25 11:10 ` Nick Piggin
2005-02-25 11:25 ` DHCP on multi homed host! Ravindra Nadgauda
2005-02-24 8:04 ` [PATCH 2/13] improve pinned task handling Ingo Molnar
2005-02-24 7:46 ` [PATCH 1/13] timestamp fixes Ingo Molnar
2005-02-24 7:56 ` Nick Piggin
2005-02-24 8:34 ` Ingo Molnar
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=20050307232214.A7715@unix-os.sc.intel.com \
--to=suresh.b.siddha@intel.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox