Messages in this thread | | | Date | Thu, 30 Apr 2015 13:01:43 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH 2/2] sched/rt: Optimizate task_woken_rt() |
| |
On Fri, 1 May 2015 00:33:18 +0800 Xunlei Pang <xlpang@126.com> wrote:
> From: Xunlei Pang <pang.xunlei@linaro.org> > > - Remove "has_pushable_tasks(rq)" condition, because for queued p, > "!task_running(rq, p)" and "p->nr_cpus_allowed > 1" implies true > "has_pushable_tasks(rq)".
This makes sense.
> > - Remove "!test_tsk_need_resched(rq->curr)" condition, because > the flag might be set right before the waking up, but we still > need to push equal or lower priority tasks, it should be removed. > Without this condition, we actually get the right logic.
But doesn't that happen when we schedule?
-- Steve
> > Signed-off-by: Xunlei Pang <pang.xunlei@linaro.org> > --- > kernel/sched/rt.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c > index a9d33a3..9d735da 100644 > --- a/kernel/sched/rt.c > +++ b/kernel/sched/rt.c > @@ -2233,8 +2233,6 @@ out: > static void task_woken_rt(struct rq *rq, struct task_struct *p) > { > if (!task_running(rq, p) && > - !test_tsk_need_resched(rq->curr) && > - has_pushable_tasks(rq) && > p->nr_cpus_allowed > 1 && > (dl_task(rq->curr) || rt_task(rq->curr)) && > (rq->curr->nr_cpus_allowed < 2 ||
| |