sched: optimize siblings status check logic in wake_idle()
authorSiddha, Suresh B <suresh.b.siddha@intel.com>
Tue, 8 May 2007 07:33:01 +0000 (00:33 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 8 May 2007 18:15:17 +0000 (11:15 -0700)
commit4953198b6ce07b008b0f1c2edd41c9d027a118b4
treedc0f500aae58c84ee7d422ac11990956ecbf9673
parent5517d86bea237c1d7078840182d9ebc0fe4c1afc
sched: optimize siblings status check logic in wake_idle()

When a logical cpu 'x' already has more than one process running, then most
likely the siblings of that cpu 'x' must be busy.  Otherwise the idle
siblings would have likely(in most of the scenarios) picked up the extra
load making the load on 'x' atmost one.

Use this logic to eliminate the siblings status check and minimize the cache
misses encountered on a heavily loaded system.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/sched.c