On Fri, 2013-02-15 at 08:26 +0100, Mike Galbraith wrote: > > (the throttle is supposed to keep idle_balance() from doing severe > damage, that may want a peek/tweak)
Right, as it stands idle_balance() can do a lot of work and if the avg idle time is less than the time we spend looking for a suitable task we loose. I've wanted to make this smarter by having the cpufreq/cpuidle avg idle time guestimator in the scheduler core so we actually know how log we expect to be idle and couple that with a cache refresh cost per sched domain (something we used to have pre 2.6.21 or so) so we can auto-limit the domain traversal for idle_balance. So far that's all fantasy though.. Related, I wanted to use the idle time guestimate to 'optimize' the idle loop, currently that stuff is stupid expensive and pokes at timer hardware etc.. if we know we won't be idle longer than it takes to poke at timer hardware, don't go into nohz mode etc. Anyway, that all is independent of the exact location of where we call that stuff. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/