Messages in this thread | | | Subject | Re: [RFC PATCH] sched: rt: fix selecting runqueue for task to be pushed | From | Steven Rostedt <> | Date | Wed, 12 Dec 2012 09:03:14 -0500 |
| |
On Wed, 2012-12-12 at 19:44 +0800, Hillf Danton wrote: > 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? >
No, it doesn't.
-- Steve
| |