public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@osdl.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Avoid moving tasks when a schedule can be made.
Date: Wed, 01 Feb 2006 08:15:54 -0500	[thread overview]
Message-ID: <1138799754.7088.48.camel@localhost.localdomain> (raw)
In-Reply-To: <20060201130818.GA26481@elte.hu>

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


  parent reply	other threads:[~2006-02-01 13:16 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-31 19:43 [PATCH] Avoid moving tasks when a schedule can be made Steven Rostedt
2006-02-01  3:36 ` Peter Williams
2006-02-01 12:44   ` Steven Rostedt
2006-02-01 13:06     ` Nick Piggin
2006-02-01 13:10       ` Nick Piggin
2006-02-01 13:20         ` Ingo Molnar
2006-02-01 13:47           ` Nick Piggin
2006-02-01 13:54             ` Nick Piggin
2006-02-01 14:12               ` Ingo Molnar
2006-02-01 14:25                 ` Nick Piggin
2006-02-01 14:37                   ` Ingo Molnar
2006-02-01 14:54                     ` Nick Piggin
2006-02-01 15:11                       ` Ingo Molnar
2006-02-01 15:31                         ` Nick Piggin
2006-02-01 16:10                           ` Ingo Molnar
2006-02-01 16:25                             ` Nick Piggin
2006-02-01 17:24                               ` Ingo Molnar
2006-02-06 11:21                                 ` Nick Piggin
2006-02-01 14:00             ` Ingo Molnar
2006-02-01 14:09               ` Nick Piggin
2006-02-01 14:22                 ` Ingo Molnar
2006-02-01 14:32                   ` Steven Rostedt
2006-02-02  1:26     ` Peter Williams
2006-02-02  2:48       ` Steven Rostedt
2006-02-02  3:19         ` Peter Williams
2006-02-01 13:08 ` Ingo Molnar
2006-02-01 13:11   ` Ingo Molnar
2006-02-02  1:42     ` Peter Williams
2006-02-02  2:51       ` Steven Rostedt
2006-02-01 13:15   ` Steven Rostedt [this message]
2006-02-01 13:23   ` Steven Rostedt
2006-02-01 13:26     ` Ingo Molnar
2006-02-01 16:11       ` Steven Rostedt

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=1138799754.7088.48.camel@localhost.localdomain \
    --to=rostedt@goodmis.org \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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