Messages in this thread Patch in this message | | | Date | Mon, 6 Apr 2009 21:48:48 +0530 | From | Arun R Bharadwaj <> | Subject | [v5 PATCH 3/4] timers: /proc/sys sysctl hook to enable timer migration |
| |
* Arun R Bharadwaj <arun@linux.vnet.ibm.com> [2009-04-06 21:43:57]:
This patch creates the /proc/sys sysctl interface at /proc/sys/kernel/timer_migration
Timer migration is enabled by default.
To disable timer migration, when CONFIG_SCHED_DEBUG = y,
echo 0 > /proc/sys/kernel/timer_migration
Signed-off-by: Arun R Bharadwaj <arun@linux.vnet.ibm.com> --- include/linux/sched.h | 1 + kernel/sched.c | 1 + kernel/sysctl.c | 8 ++++++++ 3 files changed, 10 insertions(+)
Index: linux.trees.git/include/linux/sched.h =================================================================== --- linux.trees.git.orig/include/linux/sched.h +++ linux.trees.git/include/linux/sched.h @@ -1763,6 +1763,7 @@ extern unsigned int sysctl_sched_child_r extern unsigned int sysctl_sched_features; extern unsigned int sysctl_sched_migration_cost; extern unsigned int sysctl_sched_nr_migrate; +extern unsigned int sysctl_timer_migration; int sched_nr_latency_handler(struct ctl_table *table, int write, struct file *file, void __user *buffer, size_t *length, Index: linux.trees.git/kernel/sysctl.c =================================================================== --- linux.trees.git.orig/kernel/sysctl.c +++ linux.trees.git/kernel/sysctl.c @@ -328,6 +328,14 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = &proc_dointvec, }, + { + .ctl_name = CTL_UNNUMBERED, + .procname = "timer_migration", + .data = &sysctl_timer_migration, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, #endif { .ctl_name = CTL_UNNUMBERED, Index: linux.trees.git/kernel/sched.c =================================================================== --- linux.trees.git.orig/kernel/sched.c +++ linux.trees.git/kernel/sched.c @@ -7445,6 +7445,7 @@ static void sched_domain_node_span(int n #endif /* CONFIG_NUMA */ int sched_smt_power_savings = 0, sched_mc_power_savings = 0; +const_debug unsigned int sysctl_timer_migration = 1; /* * The cpus mask in sched_group and sched_domain hangs off the end.
| |