On Tue, Nov 04, 2014 at 04:23:45PM +0800, Wanpeng Li wrote:
On Tue, Nov 04, 2014 at 09:32:25AM +0100, Peter Zijlstra wrote:So you unconditionally place it on the rq with the latest deadline. If
On Tue, Nov 04, 2014 at 07:57:48AM +0800, Wanpeng Li wrote:I think this will lead to this deadline task cannot running on any rqs any more.
On Mon, Nov 03, 2014 at 11:41:11AM +0100, Peter Zijlstra wrote:That does indeed appear to be the sensible fix to me.
On Fri, Oct 31, 2014 at 03:28:17PM +0800, Wanpeng Li wrote:Do you mean what I need to do is push the task to another cpu in dl_task_timer()
So what is wrong with making dl_task_timer() deal with it? The timer
will still fire on the correct time, canceling it and or otherwise
messing with the CBS is wrong. Once it fires, all we need to do is
migrate it to another cpu (preferably one that is still online of course
:-).
if rq is offline?
In addition, what will happen if dl task can't preempt onSo if we find that the rq the task was on is no longer available, we
another cpu?
need to select a new rq, the 'right' rq would be the one running the
latest deadline.
If it cannot preempt the latest (running) deadline, it was not eligible
for running in the first place so no worries, right?
If my understanding is not right, when it will be picked?
it cannot preempt, at least its on an online cpu. It will get scheduled
whenever its deadline is one of the N earliest, with N the number of
online CPUs.
--
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/