diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2008-06-27 07:41:35 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-27 08:31:45 -0400 |
commit | 2398f2c6d34b43025f274fc42eaca34d23ec2320 (patch) | |
tree | 0ff3e9edf12c6b4485e4fa94f47a79b44d75376a /include | |
parent | cd80917e4ff465ea77106f8e4fb631eedc4cf426 (diff) |
sched: update shares on wakeup
We found that the affine wakeup code needs rather accurate load figures
to be effective. The trouble is that updating the load figures is fairly
expensive with group scheduling. Therefore ratelimit the updating.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Cc: Mike Galbraith <efault@gmx.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sched.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index eaf821072dbd..835b6c6fcc56 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -783,6 +783,8 @@ struct sched_domain { | |||
783 | unsigned int balance_interval; /* initialise to 1. units in ms. */ | 783 | unsigned int balance_interval; /* initialise to 1. units in ms. */ |
784 | unsigned int nr_balance_failed; /* initialise to 0 */ | 784 | unsigned int nr_balance_failed; /* initialise to 0 */ |
785 | 785 | ||
786 | u64 last_update; | ||
787 | |||
786 | #ifdef CONFIG_SCHEDSTATS | 788 | #ifdef CONFIG_SCHEDSTATS |
787 | /* load_balance() stats */ | 789 | /* load_balance() stats */ |
788 | unsigned int lb_count[CPU_MAX_IDLE_TYPES]; | 790 | unsigned int lb_count[CPU_MAX_IDLE_TYPES]; |
@@ -1605,6 +1607,7 @@ extern unsigned int sysctl_sched_child_runs_first; | |||
1605 | extern unsigned int sysctl_sched_features; | 1607 | extern unsigned int sysctl_sched_features; |
1606 | extern unsigned int sysctl_sched_migration_cost; | 1608 | extern unsigned int sysctl_sched_migration_cost; |
1607 | extern unsigned int sysctl_sched_nr_migrate; | 1609 | extern unsigned int sysctl_sched_nr_migrate; |
1610 | extern unsigned int sysctl_sched_shares_ratelimit; | ||
1608 | 1611 | ||
1609 | int sched_nr_latency_handler(struct ctl_table *table, int write, | 1612 | int sched_nr_latency_handler(struct ctl_table *table, int write, |
1610 | struct file *file, void __user *buffer, size_t *length, | 1613 | struct file *file, void __user *buffer, size_t *length, |