Messages in this thread Patch in this message | | | Date | Mon, 15 Jun 2009 20:56:38 +0200 | From | Fabio Checconi <> | Subject | [PATCH 1/8] Fix rt_rq->pushable_tasks initialization in init_rt_rq() |
| |
init_rt_rq() initializes only rq->rt.pushable_tasks, and not the pushable_tasks field of the passed rt_rq. The plist is not used uninitialized since the only pushable_tasks plists used are the ones of root rt_rqs; anyway reinitializing the list on every group creation corrupts the root plist, losing its previous contents.
Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it> --- kernel/sched.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c index 6032f51..873b252 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -9075,7 +9075,7 @@ static void init_rt_rq(struct rt_rq *rt_rq, struct rq *rq) #ifdef CONFIG_SMP rt_rq->rt_nr_migratory = 0; rt_rq->overloaded = 0; - plist_head_init(&rq->rt.pushable_tasks, &rq->lock); + plist_head_init(&rt_rq->pushable_tasks, &rq->lock); #endif rt_rq->rt_time = 0; -- 1.6.2.2
| |