[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1192184985.27435.17.camel@twins>
Date: Fri, 12 Oct 2007 12:29:45 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Gregory Haskins <ghaskins@...ell.com>
Cc: Steven Rostedt <rostedt@...dmis.org>,
linux-rt-users <linux-rt-users@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/7] RT: (RFC) RT-Overload/Sched enhancements
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();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists