Peter Zijlstra
18d95a2832
sched: fair-group: SMP-nice for group scheduling
...
Implement SMP nice support for the full group hierarchy.
On each load-balance action, compile a sched_domain wide view of the full
task_group tree. We compute the domain wide view when walking down the
hierarchy, and readjust the weights when walking back up.
After collecting and readjusting the domain wide view, we try to balance the
tasks within the task_groups. The current approach is a naively balance each
task group until we've moved the targeted amount of load.
Inspired by Srivatsa Vaddsgiri's previous code and Abhishek Chandra's H-SMP
paper.
XXX: there will be some numerical issues due to the limited nature of
SCHED_LOAD_SCALE wrt to representing a task_groups influence on the
total weight. When the tree is deep enough, or the task weight small
enough, we'll run out of bits.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
CC: Abhishek Chandra <chandra@cs.umn.edu>
CC: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-19 19:45:00 +02:00
..
irq
cpumask: Cleanup more uses of CPU_MASK and NODE_MASK
2008-04-19 19:44:58 +02:00
power
Merge branches 'release' and 'doc' into release
2008-03-13 01:59:53 -04:00
time
sched: rt-group: synchonised bandwidth period
2008-04-19 19:44:57 +02:00
.gitignore
Update kernel/.gitignore with new auto-generated files
2008-02-09 23:27:01 -08:00
acct.c
bsd_acct: using task_struct->tgid is not right in pid-namespaces
2008-03-24 19:22:20 -07:00
audit.c
Audit: internally use the new LSM audit hooks
2008-04-19 09:52:37 +10:00
audit.h
SELinux: use new audit hooks, remove redundant exports
2008-04-19 09:53:46 +10:00
audit_tree.c
Introduce path_put()
2008-02-14 21:13:33 -08:00
auditfilter.c
Audit: Final renamings and cleanup
2008-04-19 09:59:43 +10:00
auditsc.c
Audit: Final renamings and cleanup
2008-04-19 09:59:43 +10:00
backtracetest.c
capability.c
cgroup.c
cgroup: fix a race condition in manipulating tsk->cg_list
2008-04-18 08:17:57 -07:00
cgroup_debug.c
compat.c
generic: reduce stack pressure in sched_affinity
2008-04-19 19:44:59 +02:00
configs.c
cpu.c
generic: use new set_cpus_allowed_ptr function
2008-04-19 19:44:58 +02:00
cpuset.c
sched, cpuset: customize sched domains, core
2008-04-19 19:45:00 +02:00
delayacct.c
dma.c
exec_domain.c
exit.c
asmlinkage_protect replaces prevent_tail_call
2008-04-10 17:28:26 -07:00
extable.c
fork.c
memcgroup: fix spurious EBUSY on memory cgroup removal
2008-03-28 14:45:21 -07:00
futex.c
NULL noise: fs/*, mm/*, kernel/*
2008-03-30 14:18:41 -07:00
futex_compat.c
futex_compat __user annotation
2008-03-30 14:18:41 -07:00
hrtimer.c
hrtimers: simplify lockdep handling
2008-04-17 12:22:31 +02:00
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt
rcu: move PREEMPT_RCU config option back under PREEMPT
2008-03-10 18:01:20 -07:00
kexec.c
kfifo.c
kgdb.c
kgdb: always use icache flush for sw breakpoints
2008-04-17 20:05:43 +02:00
kmod.c
generic: use new set_cpus_allowed_ptr function
2008-04-19 19:44:58 +02:00
kprobes.c
kprobes: fix a null pointer bug in register_kretprobe()
2008-03-04 16:35:19 -08:00
ksysfs.c
kthread.c
sched: fix cpus_allowed settings
2008-04-19 19:44:58 +02:00
latencytop.c
latencytop: optimize LT_BACKTRACEDEPTH loops a bit
2008-04-19 19:44:57 +02:00
lockdep.c
Subject: lockdep: include all lock classes in all_lock_classes
2008-02-25 23:03:02 +01:00
lockdep_internals.h
lockdep_proc.c
Makefile
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb
2008-04-18 08:37:01 -07:00
marker.c
markers: use synchronize_sched()
2008-04-02 15:28:19 -07:00
module.c
modules: warn about suspicious return values from module's ->init() hook
2008-03-10 18:01:20 -07:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
notifier.c
ns_cgroup.c
nsproxy.c
panic.c
params.c
Add new string functions strict_strto* and convert kernel params to use them
2008-02-08 09:22:41 -08:00
pid.c
pid_namespace.c
pm_qos_params.c
posix-cpu-timers.c
posix-timers: fix shadowed variables
2008-04-17 12:22:30 +02:00
posix-timers.c
hrtimer: check relative timeouts for overflow
2008-02-14 22:08:30 +01:00
printk.c
Fix locking bug in "acquire_console_semaphore_for_printk()"
2008-04-15 13:09:54 -07:00
profile.c
ptrace.c
rcuclassic.c
rcupdate.c
rcupdate: fix comment
2008-02-13 16:21:18 -08:00
rcupreempt.c
generic: reduce stack pressure in sched_affinity
2008-04-19 19:44:59 +02:00
rcupreempt_trace.c
rcutorture.c
generic: use new set_cpus_allowed_ptr function
2008-04-19 19:44:58 +02:00
relay.c
relay: set an spd_release() hook for splice
2008-03-26 12:04:09 +01:00
res_counter.c
Memory Resource Controller use strstrip while parsing arguments
2008-03-04 16:35:09 -08:00
resource.c
rtmutex-debug.c
Don't operate with pid_t in rtmutex tester
2008-02-08 09:22:41 -08:00
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
hrtimer: more hrtimer_init_sleeper() fallout.
2008-02-13 15:45:36 +01:00
rtmutex.h
rtmutex_common.h
Don't operate with pid_t in rtmutex tester
2008-02-08 09:22:41 -08:00
rwsem.c
sched.c
sched: fair-group: SMP-nice for group scheduling
2008-04-19 19:45:00 +02:00
sched_debug.c
sched: remove sysctl_sched_batch_wakeup_granularity
2008-04-19 19:44:57 +02:00
sched_fair.c
sched: fair-group: SMP-nice for group scheduling
2008-04-19 19:45:00 +02:00
sched_idletask.c
sched_rt.c
sched: fair-group: SMP-nice for group scheduling
2008-04-19 19:45:00 +02:00
sched_stats.h
cpumask: use new cpus_scnprintf function
2008-04-19 19:44:59 +02:00
seccomp.c
semaphore.c
Improve semaphore documentation
2008-04-17 10:43:01 -04:00
signal.c
ptrace_signal subroutine
2008-04-18 08:17:57 -07:00
softirq.c
tasklets: execute tasklets in the same order they were queued
2008-04-19 19:44:58 +02:00
softlockup.c
softlockup: fix task state setting
2008-02-29 18:46:53 +01:00
spinlock.c
srcu.c
stacktrace.c
stop_machine.c
generic: use new set_cpus_allowed_ptr function
2008-04-19 19:44:58 +02:00
sys.c
sys_ni.c
sysctl.c
sched: rt-group: synchonised bandwidth period
2008-04-19 19:44:57 +02:00
sysctl_check.c
taskstats.c
test_kprobes.c
time.c
avoid overflows in kernel/time.c
2008-02-08 09:22:39 -08:00
timeconst.pl
timeconst.pl: correct reversal of USEC_TO_HZ and HZ_TO_USEC
2008-02-12 14:29:26 -08:00
timer.c
timers: simplify lockdep handling
2008-04-17 12:22:31 +02:00
tsacct.c
uid16.c
asmlinkage_protect replaces prevent_tail_call
2008-04-10 17:28:26 -07:00
user.c
sched: fix the task_group hierarchy for UID grouping
2008-04-19 19:45:00 +02:00
user_namespace.c
utsname.c
utsname_sysctl.c
wait.c
workqueue.c
timer_list: add annotations to workqueue.c
2008-04-17 12:22:30 +02:00