[ 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

Reply via email to