Re: [PATCH] sched: fix possible divide by zero in avg_atom calculation

From: Peter Zijlstra
Date: Mon Jul 07 2014 - 08:44:19 EST


On Sat, Jun 14, 2014 at 03:00:09PM +0200, Mateusz Guzik wrote:
> proc_sched_show_task does:
> if (nr_switches)
> do_div(avg_atom, nr_switches);
>
> nr_switches is unsigned long and do_div truncates it to 32 bits, which
> means it can test non-zero on e.g. x86-64 and be truncated to zero for
> division.
>
> Fix the problem by using div64_ul instead.
>
> As a side effect calculations of avg_atom for big nr_switches are now correct.
>
> Signed-off-by: Mateusz Guzik <mguzik@xxxxxxxxxx>

Thanks.

Attachment: pgprloWozjCmf.pgp
Description: PGP signature