diff options
author | Nick Piggin <nickpiggin@yahoo.com.au> | 2005-06-25 17:57:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:41 -0400 |
commit | 7897986bad8f6cd50d6149345aca7f6480f49464 (patch) | |
tree | 10a5e08e004ae685aaab6823a3774803455b7704 /include/linux/sched.h | |
parent | 99b61ccf0bf0e9a85823d39a5db6a1519caeb13d (diff) |
[PATCH] sched: balance timers
Do CPU load averaging over a number of different intervals. Allow each
interval to be chosen by sending a parameter to source_load and target_load.
0 is instantaneous, idx > 0 returns a decaying average with the most recent
sample weighted at 2^(idx-1). To a maximum of 3 (could be easily increased).
So generally a higher number will result in more conservative balancing.
Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 2c69682b0444..664981ac1fb6 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -488,6 +488,10 @@ struct sched_domain { | |||
488 | unsigned long long cache_hot_time; /* Task considered cache hot (ns) */ | 488 | unsigned long long cache_hot_time; /* Task considered cache hot (ns) */ |
489 | unsigned int cache_nice_tries; /* Leave cache hot tasks for # tries */ | 489 | unsigned int cache_nice_tries; /* Leave cache hot tasks for # tries */ |
490 | unsigned int per_cpu_gain; /* CPU % gained by adding domain cpus */ | 490 | unsigned int per_cpu_gain; /* CPU % gained by adding domain cpus */ |
491 | unsigned int busy_idx; | ||
492 | unsigned int idle_idx; | ||
493 | unsigned int newidle_idx; | ||
494 | unsigned int wake_idx; | ||
491 | int flags; /* See SD_* */ | 495 | int flags; /* See SD_* */ |
492 | 496 | ||
493 | /* Runtime fields. */ | 497 | /* Runtime fields. */ |