Suresh Siddha 9439aab8db [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 <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-07-19 21:28:35 +02:00
..
2007-07-16 09:05:47 -07:00
2007-07-19 10:04:45 -07:00
2007-07-16 12:05:49 +03:00
2007-07-18 08:47:40 -07:00
2007-07-19 10:04:52 -07:00
2007-07-19 10:04:41 -07:00
2006-12-07 08:39:36 -08:00
2007-07-16 09:05:50 -07:00
2007-07-19 10:04:47 -07:00
2006-12-04 02:00:22 -05:00
2007-07-16 09:05:47 -07:00
2007-07-19 10:04:49 -07:00
2007-05-21 09:18:19 -07:00
2007-07-19 10:04:47 -07:00
2007-07-16 09:05:49 -07:00
2007-07-16 09:05:49 -07:00
2007-07-16 09:05:49 -07:00
2007-07-09 18:51:58 +02:00
2007-07-16 09:05:50 -07:00
2007-07-16 09:05:43 -07:00
2007-07-16 09:05:48 -07:00
2007-07-16 09:05:47 -07:00
2007-05-09 08:57:56 +02:00
2007-07-17 10:23:03 -07:00