* Peter Zijlstra <pet...@infradead.org> [2013-07-18 14:35:31]: > On Thu, Jul 18, 2013 at 05:45:46PM +0530, Srikar Dronamraju wrote: > > We take locks if and only if we see imbalance and want to pull the > > tasks. > > However if the newly idle balance is not finding an imbalance then this > > may not be an issue. > > > > Probably /proc/schedstats will give a better picture. > > Right, so we're interested in move_tasks() calls that fail to 'deliver'. > There's a few conditions in there that can cause us to not move a task, > most of them not counted. > > The few that are; are from can_mirgrate_task(): > > se.statistics.nr_failed_migrations_affine > se.statistics.nr_failed_migrations_running > se.statistics.nr_failed_migrations_hot > > If we see significant increments on those we'll be taking locks. >
Agree. Even I think number of times no busy group was found, number of times no busy queue was found also will tell us that locks are not being taken. In schedstats, I generally see them as overwhelming majority. > The only one I can see a good way around is the hot one, we could ignore > hotness in favour of newidle -- although I could see that being > detrimental, we'll just have to try or so ;-) > > _running shouldn't be much of a problem since we don't bother if > nr_running <= 1. And _affine is out of our reach anyway. > -- Thanks and Regards Srikar Dronamraju -- 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/