[ Added LKML ] On Tue, 2011-02-15 at 13:17 -0800, [email protected] wrote: > This is a note to let you know that I've just added the patch titled > > sched: Give CPU bound RT tasks preference > > to the 2.6.32-longterm tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/longterm/longterm-queue-2.6.32.git;a=summary > > The filename of the patch is: > 0006-sched-Give-CPU-bound-RT-tasks-preference.patch > and it can be found in the queue-2.6.32 subdirectory. > > If you, or anyone else, feels it should not be added to the 2.6.32 longterm > tree, > please let <[email protected]> know about it. > >
I don't mind this patch being added to the long term tree. But I'm curious about what is the criteria for adding changes to it? This is a performance improvement and not a critical bug fix. -- Steve > >From 10db390cadda977081a7a34f60b8ce62557521c9 Mon Sep 17 00:00:00 2001 > From: stable-bot for Steven Rostedt <[email protected]> > Date: Thu, 10 Feb 2011 10:21:08 +0100 > Subject: sched: Give CPU bound RT tasks preference > > From:: Steven Rostedt <[email protected]> > > Commit: b3bc211cfe7d5fe94b310480d78e00bea96fbf2a upstream > > If a high priority task is waking up on a CPU that is running a > lower priority task that is bound to a CPU, see if we can move the > high RT task to another CPU first. Note, if all other CPUs are > running higher priority tasks than the CPU bounded current task, > then it will be preempted regardless. > > Signed-off-by: Steven Rostedt <[email protected]> > Signed-off-by: Peter Zijlstra <[email protected]> > Cc: Gregory Haskins <[email protected]> > LKML-Reference: <[email protected]> > Signed-off-by: Ingo Molnar <[email protected]> > Signed-off-by: Mike Galbraith <[email protected]> > Acked-by: Peter Zijlstra <[email protected]> > Signed-off-by: Greg Kroah-Hartman <[email protected]> > --- > kernel/sched_rt.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > --- a/kernel/sched_rt.c > +++ b/kernel/sched_rt.c > @@ -965,7 +965,8 @@ select_task_rq_rt(struct rq *rq, struct > * For equal prio tasks, we just let the scheduler sort it out. > */ > if (unlikely(rt_task(rq->curr)) && > - rq->curr->prio < p->prio && > + (rq->curr->rt.nr_cpus_allowed < 2 || > + rq->curr->prio < p->prio) && > (p->rt.nr_cpus_allowed > 1)) { > int cpu = find_lowest_rq(p); > > @@ -1493,9 +1494,10 @@ static void task_woken_rt(struct rq *rq, > if (!task_running(rq, p) && > !test_tsk_need_resched(rq->curr) && > has_pushable_tasks(rq) && > + p->rt.nr_cpus_allowed > 1 && > rt_task(rq->curr) && > - rq->curr->prio < p->prio && > - p->rt.nr_cpus_allowed > 1) > + (rq->curr->rt.nr_cpus_allowed < 2 || > + rq->curr->prio < p->prio)) > push_rt_tasks(rq); > } > > > > Patches currently in longterm-queue-2.6.32 which might be from > [email protected] are _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
