Re: [RFC][PATCH v3] sched/rt: Use IPI to trigger RT task push migration instead of pulling

From: Steven Rostedt
Date: Thu Feb 26 2015 - 10:58:22 EST


On Wed, 25 Feb 2015 22:26:44 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> +static int find_next_push_cpu(struct rq *rq)
> +{
> + struct rq *next_rq;
> + int cpu;
> +
> + while (1) {
> + cpu = rto_next_cpu(rq);
> + if (cpu >= nr_cpu_ids)
> + break;
> + next_rq = cpu_rq(cpu);
> +
> + /* Make sure the next rq can push to this rq */
> + if (next_rq->rt.highest_prio.next <
> + rq->rt.highest_prio.curr &&

> + next_rq->rt.highest_prio.next <
> + rq->rt.highest_prio.next)

OK, this second comparison is not needed. I was looking at the code in
more detail, and see that the .curr is updated when a new task is
enqueued, and it does not represent the task currently running, but the
highest priority task that is on the rq.

I'll be sending a v4 soon with this update.

-- Steve

> + break;
> + }
> +
> + return cpu;
> +}
--
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/