Re: PROBLEM: high load average when idle

Arjan van de Ven
2007-10-03T18:22:00Z

Linus Torvalds wrote:
> Without this, I can easily imagine that the rounding code tends to try to
> round to an even second, and the load-average code generally also runs at
> even seconds!
>
> Linus
>
> ---
> include/linux/sched.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index a01ac6d..643de0f 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -113,7 +113,7 @@ extern unsigned long avenrun[]; /* Load averages */
>
> #define FSHIFT 11 /* nr of bits of precision */
> #define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */
> -#define LOAD_FREQ (5*HZ) /* 5 sec intervals */
> +#define LOAD_FREQ (5*HZ+1) /* ~5 sec intervals */

not sure this is going to help; I mean, the load gets only updated in
actual timer interrupts... and on a tickless system there's very few
of those around..... and usually at places round_jiffies() already put
a timer on.

(also.. one thing that might make Chuck's theory wrong is that the
sampling code doesn't sample timer activity since that's run just
after the sampler in the same irq)