Re: [PATCH 1/2] sched: Fix "divide error: 0000" infind_busiest_group

From: Peter Zijlstra
Date: Tue Jul 19 2011 - 17:12:46 EST


On Tue, 2011-07-19 at 14:58 -0600, Terry Loftin wrote:
> Correct the protection expression in update_cpu_power() to avoid setting
> rq->cpu_power to zero.

Firstly you fail to mention what kernel this is again, secondly this
should never happen in the first place, so this fix is wrong. At best it
papers over another bug.

> Signed-off-by: Terry Loftin <terry.loftin@xxxxxx>
> Signed-off-by: Bob Montgomery <bob.montgomery@xxxxxx>
> ---
> diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
> index 0c26e2d..9c50020 100644
> --- a/kernel/sched_fair.c
> +++ b/kernel/sched_fair.c
> @@ -2549,7 +2549,7 @@ static void update_cpu_power(struct sched_domain *sd, int cpu)
> power *= scale_rt_power(cpu);
> power >>= SCHED_LOAD_SHIFT;
>
> - if (!power)
> + if ((u32)power == 0)
> power = 1;
>
> cpu_rq(cpu)->cpu_power = power;



--
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/