aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorChristian Ehrhardt <ehrhardt@linux.vnet.ibm.com>2009-11-30 06:16:47 -0500
committerIngo Molnar <mingo@elte.hu>2009-12-09 04:04:01 -0500
commit1983a922a1bc843806b9a36cf3a370b242783140 (patch)
tree3071f23d39e05587823a40033c4c11a0867dd46e /include/linux/sched.h
parent0bcdcf28c979869f44e05121b96ff2cfb05bd8e6 (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/linux/sched.h')
-rw-r--r--include/linux/sched.h11
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;
1902extern unsigned int sysctl_sched_shares_ratelimit; 1902extern unsigned int sysctl_sched_shares_ratelimit;
1903extern unsigned int sysctl_sched_shares_thresh; 1903extern unsigned int sysctl_sched_shares_thresh;
1904extern unsigned int sysctl_sched_child_runs_first; 1904extern unsigned int sysctl_sched_child_runs_first;
1905
1906enum sched_tunable_scaling {
1907 SCHED_TUNABLESCALING_NONE,
1908 SCHED_TUNABLESCALING_LOG,
1909 SCHED_TUNABLESCALING_LINEAR,
1910 SCHED_TUNABLESCALING_END,
1911};
1912extern enum sched_tunable_scaling sysctl_sched_tunable_scaling;
1913
1905#ifdef CONFIG_SCHED_DEBUG 1914#ifdef CONFIG_SCHED_DEBUG
1906extern unsigned int sysctl_sched_migration_cost; 1915extern unsigned int sysctl_sched_migration_cost;
1907extern unsigned int sysctl_sched_nr_migrate; 1916extern unsigned int sysctl_sched_nr_migrate;
1908extern unsigned int sysctl_sched_time_avg; 1917extern unsigned int sysctl_sched_time_avg;
1909extern unsigned int sysctl_timer_migration; 1918extern unsigned int sysctl_timer_migration;
1910 1919
1911int sched_nr_latency_handler(struct ctl_table *table, int write, 1920int 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