From: Peter Zijlstra <peterz@infradead.org>
To: Gregory Haskins <ghaskins@novell.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
linux-rt-users <linux-rt-users@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/7] RT: (RFC) RT-Overload/Sched enhancements
Date: Fri, 12 Oct 2007 12:29:45 +0200 [thread overview]
Message-ID: <1192184985.27435.17.camel@twins> (raw)
In-Reply-To: <20071011213916.27097.42597.stgit@novell1.haskins.net>
Hi Gregory,
On Thu, 2007-10-11 at 17:59 -0400, Gregory Haskins wrote:
> The current series applies to 23-rt1-pre1.
>
> This is a snapshot of the current work-in-progress for the rt-overload
> enhancements. The primary motivation for the series to to improve the
> algorithm for distributing RT tasks to keep the highest tasks active. The
> current system tends to blast IPIs "shotgun" style, and we aim to reduce that
> overhead where possible. We mitigate this behavior by trying to place tasks
> on the ideal runqueue before an overload even occurs.
>
> Note that this series is *not* currently stable. There is at
> least one bug resulting in a hard-lock. And the hard-lock could be masking
> other yet-to-be-discovered issues.
>
> My primary motivation for sending it out right now is to share the latest
> series with Peter Zijlstra and Steven Rostedt. However, in the interest of
> keeping the development open we are sending to a wider distribution.
> Comments/suggestions from anyone are, of course, welcome. But please note
> this is not quite ready for prime-time in any capacity.
>
> The series includes patches from both Steven and myself, with serious
> input/guidance/discussion from Peter.
I'm wondering why we need the cpu prio management stuff. I'm thinking we
might just use any cpus_allowed cpu that has a lesser priority than the
task we're trying to migrate.
And for that, steve's rq->curr_prio field seems quite suitable.
so instead of the:
for (3 tries)
find lowest cpu
try push
we do:
cpu_hotplug_lock();
cpus_and(mask, p->cpus_allowed, online_cpus);
for_each_cpu_mask(i, mask) {
if (cpu_rq(i)->curr_prio > p->prio && push_task(p, i))
break;
}
cpu_hotplug_unlock();
next prev parent reply other threads:[~2007-10-12 10:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-11 21:59 [PATCH 0/7] RT: (RFC) RT-Overload/Sched enhancements Gregory Haskins
2007-10-11 21:59 ` [PATCH 1/7] RT: Push waiting rt tasks Gregory Haskins
2007-10-11 21:59 ` [PATCH 2/7] RT: Peter Zijlstra's suggested improvements to rt-push patch Gregory Haskins
2007-10-11 21:59 ` [PATCH 3/7] RT: Only consider online CPUs when pushing rt tasks Gregory Haskins
2007-10-12 12:10 ` Steven Rostedt
2007-10-11 22:00 ` [PATCH 4/7] RT: Add a per-cpu rt_overload indication Gregory Haskins
2007-10-11 22:00 ` [PATCH 5/7] RT: CPU priority management Gregory Haskins
2007-10-11 22:00 ` [PATCH 6/7] RT: Convert Steve's rt-push infrastructure to cpupri Gregory Haskins
2007-10-11 22:00 ` [PATCH 7/7] RT: push-rt enhancements Gregory Haskins
2007-10-12 10:29 ` Peter Zijlstra [this message]
2007-10-12 11:47 ` [PATCH 0/7] RT: (RFC) RT-Overload/Sched enhancements Steven Rostedt
2007-10-12 13:20 ` Gregory Haskins
2007-10-12 14:05 ` Gregory Haskins
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=1192184985.27435.17.camel@twins \
--to=peterz@infradead.org \
--cc=ghaskins@novell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
/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