lkml.org 
[lkml]   [2006]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] Avoid moving tasks when a schedule can be made.
From
Date
On Wed, 2006-02-01 at 14:08 +0100, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> wrote:
>
> [pls. use -p when generating patches]
>
> > @@ -1983,6 +1983,10 @@
> >
> > curr = curr->prev;
> >
> > + /* bail if someone else woke up */
> > + if (need_resched())
> > + goto out;
> > +
> > if (!can_migrate_task(tmp, busiest, this_cpu, sd, idle, &pinned)) {
> > if (curr != head)
> > goto skip_queue;
>
> even putting the problems of this approach aside (is it right to abort
> the act of load-balancing - which is a periodic activity that wont be
> restarted after this - so we lose real work), i think this will not
> solve the latency. Imagine a hardirq hitting the CPU that is executing
> move_tasks() above. We might not service that hardirq for up to 1.5
> msecs ...
>
> i think the right approach would be to split up this work into smaller
> chunks. Or rather, lets first see how this can happen: why is
> can_migrate() false for so many tasks? Are they all cpu-hot? If yes,
> shouldnt we simply skip only up to a limit of tasks in this case - it's
> not like we want to spend 1.5 msecs searching for a cache-cold task
> which might give us a 50 usecs advantage over cache-hot tasks ...
>

OK, agreed.

Just to clear things up. I looked further into what was causing this,
and the can_migrate was indeed true, and it just happened that we got a
large imbalance, and it pulled a few hundred tasks. So, my earlier
analysis was incorrect about the can_migrate being false.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-01 14:18    [W:1.926 / U:0.684 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site