Re: [PATCH]sched/rt: Simplify pick_rt_task: remove next_prio()inheritance

From: Steven Rostedt
Date: Thu Jan 31 2013 - 11:12:09 EST


On Thu, 2013-01-31 at 18:56 +0400, Kirill Tkhai wrote:
> Function next_prio() has been removed and pull_rt_task() is the only
> user of pick_next_highest_task_rt() at the moment.
>
> pull_rt_task is not interested in p->nr_cpus_allowed, its only interest
> is the fact that cpu is allowed to execute p. If nr_cpus_allowed == 1,
> cpu != task_cpu(p) and cpu is allowed then it means that task p is in
> the middle of the migration techniques; the task waits until it is moved
> by migration thread. So, lets pull it earlier.
>
> Signed-off-by: Kirill V Tkhai <tkhai@xxxxxxxxx>

Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

-- Steve

> CC: Ingo Molnar <mingo@xxxxxxxxxx>
> CC: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> CC: linux-rt-users <linux-rt-users@xxxxxxxxxxxxxxx>
> ---
> kernel/sched/rt.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
> index 4e8f0f4..9aa2921 100644
> --- a/kernel/sched/rt.c
> +++ b/kernel/sched/rt.c
> @@ -1427,8 +1427,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
> static int pick_rt_task(struct rq *rq, struct task_struct *p, int cpu)
> {
> if (!task_running(rq, p) &&
> - (cpu < 0 || cpumask_test_cpu(cpu, tsk_cpus_allowed(p))) &&
> - (p->nr_cpus_allowed > 1))
> + cpumask_test_cpu(cpu, tsk_cpus_allowed(p)))
> return 1;
> return 0;
> }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/