Messages in this thread Patch in this message | | | Date | Fri, 10 Jul 2009 10:41:26 GMT | From | tip-bot for Fabio Checconi <> | Subject | [tip:sched/urgent] sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() |
| |
Commit-ID: c20b08e3986c2dbfa6df1e880bf4f7159994d199 Gitweb: http://git.kernel.org/tip/c20b08e3986c2dbfa6df1e880bf4f7159994d199 Author: Fabio Checconi <fchecconi@gmail.com> AuthorDate: Mon, 15 Jun 2009 20:56:38 +0200 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Fri, 10 Jul 2009 10:43:30 +0200
sched: 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> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20090615185638.GK21741@gandalf.sssup.it> CC: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
--- kernel/sched.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c index c4549bd..efecfda 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -9093,7 +9093,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;
| |