]> git.baikalelectronics.ru Git - kernel.git/commit
sched: only balance our RT tasks within our domain
authorGregory Haskins <ghaskins@novell.com>
Fri, 25 Jan 2008 20:08:18 +0000 (21:08 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 25 Jan 2008 20:08:18 +0000 (21:08 +0100)
commit2c2726904f31a2d41aa9615b1ea4ed72a7c93b69
treeee8a4bc19fda1783bff8aa44abdcb6d8596aa7f1
parent0f89d39e25a6f6c8763d97cd854de3c956d52ac9
sched: only balance our RT tasks within our domain

We move the rt-overload data as the first global to per-domain
reclassification.  This limits the scope of overload related cache-line
bouncing to stay with a specified partition instead of affecting all
cpus in the system.

Finally, we limit the scope of find_lowest_cpu searches to the domain
instead of the entire system.  Note that we would always respect domain
boundaries even without this patch, but we first would scan potentially
all cpus before whittling the list down.  Now we can avoid looking at
RQs that are out of scope, again reducing cache-line hits.

Note: In some cases, task->cpus_allowed will effectively reduce our search
to within our domain.  However, I believe there are cases where the
cpus_allowed mask may be all ones and therefore we err on the side of
caution.  If it can be optimized later, so be it.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
CC: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c
kernel/sched_rt.c