[PATCH for 2.6.23] Fix scheduler domain sysctl list

Andi Kleen
2007-10-09T10:02:33Z

Ingo has this already fixed in sched-devel (but he also adds
more parameters here). Since the fix is very simple I think it should
be fixed for .23. Especially cache_nice_tries is useful to tune
because it is very magic and the current values are a little dubious.

----

Fix holes in the scheduler domain sysctl setup that prevented
reaching the last two parameters.

Also allocate array of the correct size.

Signed-off-by: Andi Kleen <ak@suse.de>

Index: linux-2.6.23-rc8-misc/kernel/sched.c
===================================================================
--- linux-2.6.23-rc8-misc.orig/kernel/sched.c
+++ linux-2.6.23-rc8-misc/kernel/sched.c
@@ -5224,7 +5224,7 @@ set_table_entry(struct ctl_table *entry,
static struct ctl_table *
sd_alloc_ctl_domain_table(struct sched_domain *sd)
{
- struct ctl_table *table = sd_alloc_ctl_entry(14);
+ struct ctl_table *table = sd_alloc_ctl_entry(11);

set_table_entry(&table[0], "min_interval", &sd->min_interval,
sizeof(long), 0644, proc_doulongvec_minmax);
@@ -5244,10 +5244,10 @@ sd_alloc_ctl_domain_table(struct sched_d
sizeof(int), 0644, proc_dointvec_minmax);
set_table_entry(&table[8], "imbalance_pct", &sd->imbalance_pct,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[10], "cache_nice_tries",
+ set_table_entry(&table[9], "cache_nice_tries",
&sd->cache_nice_tries,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[12], "flags", &sd->flags,
+ set_table_entry(&table[10], "flags", &sd->flags,
sizeof(int), 0644, proc_dointvec_minmax);

return table;