Re: Workaround for wrapping loadaverage

From: Patrick Mau
Date: Mon Nov 08 2004 - 05:27:00 EST


On Mon, Nov 08, 2004 at 01:27:07AM -0800, Andrew Morton wrote:
> Patrick Mau <mau@xxxxxxxxxxxxx> wrote:
> >
> > We can only account for 1024 runnable processes, since we have 22 bits
> > precision, I would like to suggest a patch to calc_load in kernel/timer.c
>
> It's better than wrapping to zero...
>
> Why do we need 11 bits after the binary point?

I tried various other combinations, the most interesting alternative was
8 bits precision. The exponential values would be:

1 / e (5/60) * 256
235.53

1 / e (5/300) * 256
251.76

1 / e (5/900) * 256
254.58

If you would use 236, 252 and 255 the last to load calculations would
get optimized into register shifts during calculation. The precision
would be bad, but I personally don't mind loosing the fraction.

Best regards,
Patrick
-
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/