On Tue, Mar 31, 2015 at 10:52:48PM +0300, Azat Khuzhin wrote:
> Hi all,
>
> On one of machines [SUPERMICRO], after installing fresh kernel
> (v4.0-rc5-25-g90a5a89), I noticed that loadavg always greater then 1.
>
> I do a lot of digging and finally have more information on this issue:
> CONFIG_NO_HZ_IDLE=y # loadavg always > 1
> CONFIG_HZ_PERIODIC=y # loadavg < 1
>
> After this I tried to disable "nohz" at boot, to determine whether it is
> statically added code under #ifdef during compilation or not, so I added
> "nohz=off" to cmdline, and it helps!
>
> Also if you enable preemption loadavg is also < 1:
> CONFIG_PREEMPT_VOLUNTARY=y
So you need CONFIG_PREEMPT=n and CONFIG_NO_HZ_IDLE=y for this to happen?
That's somewhat odd (and uncommon I think, most everybody has at least
VOLUNTARY enabled these days).
I'll try to look over the code to see if I can find a preempt relation,
weird that.
On Tue, Apr 14, 2015 at 11:54:24AM +0200, Peter Zijlstra wrote:
> On Tue, Mar 31, 2015 at 10:52:48PM +0300, Azat Khuzhin wrote:
> > Hi all,
> >
> > On one of machines [SUPERMICRO], after installing fresh kernel
> > (v4.0-rc5-25-g90a5a89), I noticed that loadavg always greater then 1.
> >
> > I do a lot of digging and finally have more information on this issue:
> > CONFIG_NO_HZ_IDLE=y # loadavg always > 1
> > CONFIG_HZ_PERIODIC=y # loadavg < 1
> >
> > After this I tried to disable "nohz" at boot, to determine whether it is
> > statically added code under #ifdef during compilation or not, so I added
> > "nohz=off" to cmdline, and it helps!
> >
> > Also if you enable preemption loadavg is also < 1:
> > CONFIG_PREEMPT_VOLUNTARY=y
>
> So you need CONFIG_PREEMPT=n and CONFIG_NO_HZ_IDLE=y for this to happen?
Yep, CONFIG_PREEMPT_NONE=y and CONFIG_NO_HZ_IDLE=y
> That's somewhat odd (and uncommon I think, most everybody has at least
> VOLUNTARY enabled these days).
This is not a big problem for me, I could enable VOLUNTARY, but I don't
think that it will be useful for my workload. But I could be wrong.
> I'll try to look over the code to see if I can find a preempt relation,
> weird that.
Thanks!