Messages in this thread | | | Date | Wed, 12 Dec 2012 19:44:00 +0800 | Subject | Re: [RFC PATCH] sched: rt: fix selecting runqueue for task to be pushed | From | Hillf Danton <> |
| |
On Wed, Dec 12, 2012 at 10:46 AM, Steven Rostedt <rostedt@goodmis.org> 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
| |