Messages in this thread | | | Subject | Re: [PATCH 1/8] Fix rt_rq->pushable_tasks initialization in init_rt_rq() | From | Peter Zijlstra <> | Date | Thu, 09 Jul 2009 12:43:04 +0200 |
| |
On Mon, 2009-06-15 at 20:56 +0200, Fabio Checconi wrote: > 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>
Good catch, I'll queue this up.
> --- > 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;
| |