lkml.org 
[lkml]   [2012]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] DLS: fix switched_from_dl
On 04/10/2012 04:25 PM, Hillf Danton wrote:
> Pull only if the current task switches from DLS, since it was not preempted
> by pushable tasks waiting on other runqueues.
>
> Signed-off-by: Hillf Danton<dhillf@gmail.com>
> ---
>
> --- a/kernel/sched_dl.c Mon Apr 9 19:39:56 2012
> +++ b/kernel/sched_dl.c Tue Apr 10 21:23:52 2012
> @@ -1466,12 +1466,7 @@ static void switched_from_dl(struct rq *
> hrtimer_try_to_cancel(&p->dl.dl_timer);
>
> #ifdef CONFIG_SMP
> - /*
> - * Since this might be the only -deadline task on the rq,
> - * this is the right place to try to pull some other one
> - * from an overloaded cpu, if any.
> - */
> - if (!rq->dl.dl_nr_running)
> + if (p == rq->curr)
> pull_dl_task(rq);
> #endif
> }
> --

I'd stay with the original code. p (former -dl task) is going away
(changed its scheduling class from -dl to something else). If it was
the last -dl task on rq I'd probably want to pull someone else. No
assumptions needed in this case.

Thanks,

- Juri


\
 
 \ /
  Last update: 2012-04-22 18:13    [W:0.230 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site