diff options
author | Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> | 2009-11-30 06:16:47 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-09 04:04:01 -0500 |
commit | 1983a922a1bc843806b9a36cf3a370b242783140 (patch) | |
tree | 3071f23d39e05587823a40033c4c11a0867dd46e /include | |
parent | 0bcdcf28c979869f44e05121b96ff2cfb05bd8e6 (diff) |
sched: Make tunable scaling style configurable
As scaling now takes place on all kind of cpu add/remove events a user
that configures values via proc should be able to configure if his set
values are still rescaled or kept whatever happens.
As the comments state that log2 was just a second guess that worked the
interface is not just designed for on/off, but to choose a scaling type.
Currently this allows none, log and linear, but more important it allwos
us to keep the interface even if someone has an even better idea how to
scale the values.
Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1259579808-11357-3-git-send-email-ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sched.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 4b1ebd3280c6..ee9f200d12d3 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1902,13 +1902,22 @@ extern unsigned int sysctl_sched_wakeup_granularity; | |||
1902 | extern unsigned int sysctl_sched_shares_ratelimit; | 1902 | extern unsigned int sysctl_sched_shares_ratelimit; |
1903 | extern unsigned int sysctl_sched_shares_thresh; | 1903 | extern unsigned int sysctl_sched_shares_thresh; |
1904 | extern unsigned int sysctl_sched_child_runs_first; | 1904 | extern unsigned int sysctl_sched_child_runs_first; |
1905 | |||
1906 | enum sched_tunable_scaling { | ||
1907 | SCHED_TUNABLESCALING_NONE, | ||
1908 | SCHED_TUNABLESCALING_LOG, | ||
1909 | SCHED_TUNABLESCALING_LINEAR, | ||
1910 | SCHED_TUNABLESCALING_END, | ||
1911 | }; | ||
1912 | extern enum sched_tunable_scaling sysctl_sched_tunable_scaling; | ||
1913 | |||
1905 | #ifdef CONFIG_SCHED_DEBUG | 1914 | #ifdef CONFIG_SCHED_DEBUG |
1906 | extern unsigned int sysctl_sched_migration_cost; | 1915 | extern unsigned int sysctl_sched_migration_cost; |
1907 | extern unsigned int sysctl_sched_nr_migrate; | 1916 | extern unsigned int sysctl_sched_nr_migrate; |
1908 | extern unsigned int sysctl_sched_time_avg; | 1917 | extern unsigned int sysctl_sched_time_avg; |
1909 | extern unsigned int sysctl_timer_migration; | 1918 | extern unsigned int sysctl_timer_migration; |
1910 | 1919 | ||
1911 | int sched_nr_latency_handler(struct ctl_table *table, int write, | 1920 | int sched_proc_update_handler(struct ctl_table *table, int write, |
1912 | void __user *buffer, size_t *length, | 1921 | void __user *buffer, size_t *length, |
1913 | loff_t *ppos); | 1922 | loff_t *ppos); |
1914 | #endif | 1923 | #endif |