From: Suresh Siddha Date: Thu, 19 Jul 2007 19:28:35 +0000 (+0200) Subject: [PATCH] sched: fix newly idle load balance in case of SMT X-Git-Tag: v2.6.23-rc1~261^2~2 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9439aab8dbc33c2c03c3a19dba267360383ba38c;p=pandora-kernel.git [PATCH] sched: fix newly idle load balance in case of SMT In the presence of SMT, newly idle balance was never happening for multi-core and SMP domains (even when both the logical siblings are idle). If thread 0 is already idle and when thread 1 is about to go to idle, newly idle load balance always think that one of the threads is not idle and skips doing the newly idle load balance for multi-core and SMP domains. This is because of the idle_cpu() macro, which checks if the current process on a cpu is an idle process. But this is not the case for the thread doing the load_balance_newidle(). Fix this by using runqueue's nr_running field instead of idle_cpu(). And also skip the logic of 'only one idle cpu in the group will be doing load balancing' during newly idle case. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar --- Reading git-diff-tree failed