Re: [PATCH 1/8] Fix rt_rq->pushable_tasks initialization ininit_rt_rq()

From: Peter Zijlstra
Date: Thu Jul 09 2009 - 06:43:21 EST


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@xxxxxxxxxxxxxxxx>

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;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/