Messages in this thread | | | From | Gregory Haskins <> | Subject | [RT PATCH v2 0/2] Series short description | Date | Fri, 03 Oct 2008 13:26:07 -0400 |
| |
Gilles Carry wrote: > Sorry Greg, > > Neither PPC64 nor Intel64 make it with this patch. > At boot time, it stops at the BUG_ON you added: > 0xc00000000004eca4 is in push_rt_task (kernel/sched_rt.c:1102) >
Indeed. Your report has revealed the problem to me.
The issue is that there are three conditions embedded in that if(!lower_rq) code, but two are buried in the !retry case. This was the mistake I was making.
We basically need to
a) dequeue if the task hasnt moved b) retry if the task *has* moved AND there are more tasks left c) stop of the task *has* moved AND there are no more tasks
I was missing logic to handle (c). "v2" should fix this so it is handled. Please give it a try. Thanks again, Gilles!
(Again, only build-tested)
Regards, -Greg
---
Gregory Haskins (2): RT: remove "paranoid" limit in push_rt_task RT: Remove comment that is no longer true
kernel/sched_rt.c | 44 ++++++++++++++++++++++---------------------- 1 files changed, 22 insertions(+), 22 deletions(-)
-- Signature
| |