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:46 -07:00
2007-07-19 10:04:43 -07:00
2007-07-19 10:04:52 -07:00
2006-01-03 11:35:26 +01:00
2006-12-08 08:28:42 -08:00
2007-07-17 10:23:02 -07:00
2007-07-16 09:05:47 -07:00
2007-07-17 16:17:59 -04:00
2007-07-19 10:04:45 -07:00
2007-02-12 09:48:32 -08:00
2007-05-11 08:29:36 -07:00
2007-05-09 12:30:49 -07:00
2007-07-16 12:05:49 +03:00
2007-07-18 08:47:40 -07:00
2007-07-09 18:52:00 +02:00
2007-05-08 11:15:04 -07:00
2006-12-07 08:39:46 -08:00
2006-06-30 19:25:36 +02:00
2007-07-19 10:04:42 -07:00
2006-05-15 11:20:55 -07:00
2007-07-19 10:04:52 -07:00
2007-06-18 09:48:41 -07:00
2007-07-19 10:04:41 -07:00
2007-07-16 17:29:56 -07:00
2007-05-08 11:15:13 -07:00
2007-07-17 10:23:03 -07:00
2006-12-07 08:39:36 -08:00
2007-05-09 07:12:20 +02:00
2007-05-08 11:15:07 -07:00
2007-07-16 09:05:50 -07:00
2007-07-19 10:04:42 -07:00
2007-07-19 10:04:44 -07:00
2007-07-19 10:04:47 -07:00
2007-07-16 09:05:36 -07:00
2006-12-04 02:00:22 -05:00
2006-12-07 08:39:43 -08:00
2007-07-19 10:04:49 -07:00
2007-07-19 10:04:49 -07:00
2007-07-16 09:05:47 -07:00
2007-07-17 10:23:03 -07:00
2007-02-14 08:09:54 -08:00
2006-07-03 15:27:01 -07:00
2007-07-19 10:04:49 -07:00
2006-07-03 15:27:04 -07:00
2007-07-16 09:05:48 -07:00
2007-07-17 10:23:02 -07:00
2007-07-11 16:09:06 -07:00
2007-07-16 09:05:48 -07:00
2007-07-09 18:51:58 +02:00
2007-06-21 15:57:04 -07:00
2007-07-16 09:05:52 -07:00
2007-05-21 09:18:19 -07:00
2007-07-19 10:04:46 -07:00
2007-05-09 12:30:56 -07:00
2007-07-17 10:23:02 -07:00
2007-07-19 10:04:47 -07:00
2007-04-28 14:15:59 -04:00
2007-07-16 09:05:49 -07:00
2007-07-16 09:05:49 -07:00
2006-07-03 15:27:01 -07:00
2007-07-17 10:23:02 -07:00
2007-07-16 09:05:49 -07:00
2006-07-03 15:27:01 -07:00
2007-07-19 10:04:49 -07:00
2007-07-13 10:10:41 -07:00
2007-07-09 18:51:58 +02:00
2007-07-09 18:51:58 +02:00
2007-07-09 18:51:58 +02:00
2007-07-09 18:52:00 +02:00
2007-07-19 21:28:35 +02:00
2007-07-16 09:05:50 -07:00
2007-07-16 09:05:43 -07:00
2007-07-17 10:23:02 -07:00
2007-07-17 10:23:02 -07:00
2007-07-19 10:04:49 -07:00
2006-10-04 07:55:30 -07:00
2006-07-03 15:27:02 -07:00
2007-07-16 09:05:41 -07:00
2007-07-16 09:05:48 -07:00
2007-07-19 10:04:46 -07:00
2007-07-19 10:04:57 -07:00
2007-07-16 09:05:46 -07:00
2007-07-16 09:05:48 -07:00
2007-07-19 10:04:52 -07:00
2007-02-16 08:14:00 -08:00
2007-05-08 11:15:07 -07:00
2007-07-16 09:05:47 -07:00
2007-07-16 09:05:47 -07:00
2007-07-16 09:05:47 -07:00
2007-07-16 09:05:48 -07:00
2007-05-09 08:57:56 +02:00
2007-07-17 10:23:03 -07:00