On Mon, 27 Apr 2015 01:10:55 +0800
Xunlei Pang <[email protected]> wrote:

> From: Xunlei Pang <[email protected]>
> 
> There may be some non-migratable tasks queued in the "run queue"
> with the same priority as current which is FIFO and migratable,
> so at each tick we can check and try to push current away and
> give these tasks a chance of running(we don't do this for tasks
> queued with lower priority).

Why do we care?

This patch adds overhead to the tick for apparently no benefit. If you
have two tasks of the same priority where one is migrateable and the
other is not, then that's your problem. There's no specification that I
know of that states we need to push the currently running task off to
another CPU just so that we can run a pinned one. What happens if the
other CPU we pushed the rt task to, suddenly gets a pinned task
scheduled there, we end up pushing that rt task again. This is not the
kernel's problem.

The simple solution is to make sure that migratable RT tasks are at
different priorities than pinned RT tasks. There, problem solved.

-- Steve


> 
> Signed-off-by: Xunlei Pang <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to