aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2008-06-27 07:41:35 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-27 08:31:45 -0400
commit2398f2c6d34b43025f274fc42eaca34d23ec2320 (patch)
tree0ff3e9edf12c6b4485e4fa94f47a79b44d75376a /include/linux/sched.h
parentcd80917e4ff465ea77106f8e4fb631eedc4cf426 (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/linux/sched.h')
-rw-r--r--include/linux/sched.h3
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;
1605extern unsigned int sysctl_sched_features; 1607extern unsigned int sysctl_sched_features;
1606extern unsigned int sysctl_sched_migration_cost; 1608extern unsigned int sysctl_sched_migration_cost;
1607extern unsigned int sysctl_sched_nr_migrate; 1609extern unsigned int sysctl_sched_nr_migrate;
1610extern unsigned int sysctl_sched_shares_ratelimit;
1608 1611
1609int sched_nr_latency_handler(struct ctl_table *table, int write, 1612int 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,