From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
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, 1 Feb 2006 14:08:18 +0100 [thread overview]
Message-ID: <20060201130818.GA26481@elte.hu> (raw)
In-Reply-To: <1138736609.7088.35.camel@localhost.localdomain>
* 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 ...
Ingo
next prev parent reply other threads:[~2006-02-01 13:09 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 [this message]
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
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=20060201130818.GA26481@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--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