Messages in this thread | | | Date | Mon, 8 Nov 2004 11:25:53 +0100 | From | Patrick Mau <> | Subject | Re: Workaround for wrapping loadaverage |
| |
On Mon, Nov 08, 2004 at 01:27:07AM -0800, Andrew Morton wrote: > Patrick Mau <mau@oscar.ping.de> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |