Re: Missing recalculation of scheduler tunables in case of cpu hotadd/remove

From: Christian Ehrhardt
Date: Thu Dec 03 2009 - 04:31:22 EST


Pavel Machek wrote:
Hi!

Aside from that, we probably should put an upper limit in place, as I
guess large cpu count machines get silly large values
I agree to that, but in the code is already an upper limit of 200.000.000 - well we might discuss if that is too low/high.
Yeah, I think we should cap it around the 8-16 CPUs.

ok for me, driven by that finding I think I have to measure different kind of scalings anyway, but as usually that takes some time :-/
At least too time much for the discussion & solution of that bug I guess.

The question for now is what we do on cpu hot add/remove?
Would hooking somewhere in kernel/cpu.c be the right approach - I'm not quite sure about my own suggestion yet :-).
Something like the below might work I suppose, just needs a cleanup and
such.

I see a rather fundamental problem: what if user wants to override
those values, and wants them stay that way
Yep a fundamental problem, but fortunately solved already ;-)

See the series "[PATCH 0/3] fix rescaling of scheduler tunables v2" posted after this discussion.
That is exactly what patch #2 is about.
Giving users the choice to either set things constant (scaling=none) or dynamic (log or linear) as it is done boot time.

As I considered it a bug to miss the updates, the current patch initializes it with scaling=log to let runtime and boot behave the same way.
I could do an update to better keep interfaces which would initialize it with "scaling=none" to reflect by default the behavior of the current code that is missing scaling completely.
Comments welcome

--

Grüsse / regards, Christian Ehrhardt
IBM Linux Technology Center, Open Virtualization

--
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/