Re: [RFC PATCH] sched: rt: fix selecting runqueue for task to be pushed

From: Hillf Danton
Date: Wed Dec 12 2012 - 06:43:48 EST


On Wed, Dec 12, 2012 at 10:46 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Tue, 2012-12-11 at 20:54 -0500, Steven Rostedt wrote:
>
>> I'm actually thinking that that test should always fail. The
>> cpupri_find() does a scan of all priorities up to but not including the
>> current task's priority. If cpupri_find() finds a mask, it means that it
>> found CPUs that are running only tasks of lower priority than the task
>> we are checking. Which means, it should never include the task's CPU, as
>> that CPU should have a higher priority than what is being returned by
>> lowest_mask. If it can't find a set of CPUs of lower priority, it should
>> return false, and the find_lowest_rq() should exit.
>>
>> I'll add a WARN_ON_ONCE() there, and see if I can trigger it. :-/
>
> Ah, for select_task_rq_rt() it can get that CPU, because it's called in
> the wakeup path before the task is added into the CPUs priority. And we
> definitely want the current CPU in that case.
>
Hm ... the latency of the woken task increases iff we overload its
runqueue, no?

Hillf
--
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/