lkml.org 
[lkml]   [2006]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[patch 2/2] fix perf. bug in wake-up load balancing for aim7 and db workload
Date
Add sysctl to control wake-balance behavior.


Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>

--- linux-2.6.16-rc2/include/linux/sysctl.h.orig 2006-02-13 18:48:13.287205480 -0800
+++ linux-2.6.16-rc2/include/linux/sysctl.h 2006-02-13 18:49:32.138767014 -0800
@@ -146,6 +146,7 @@ enum
KERN_RANDOMIZE=68, /* int: randomize virtual address space */
KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */
KERN_SPIN_RETRY=70, /* int: number of spinlock retries */
+ KERN_WAKE_BALANCE=71, /* int: load balance on wakeup */
};


--- linux-2.6.16-rc2/kernel/sched.c.orig 2006-02-13 18:24:03.035270121 -0800
+++ linux-2.6.16-rc2/kernel/sched.c 2006-02-13 19:04:22.872154540 -0800
@@ -1237,6 +1237,8 @@ static inline int wake_idle(int cpu, tas
}
#endif

+int sysctl_wake_balance=1;
+
/***
* try_to_wake_up - wake up a thread
* @p: the to-be-woken-up thread
@@ -1294,6 +1296,9 @@ static int try_to_wake_up(task_t *p, uns
}
}

+ if (!sysctl_wake_balance)
+ goto out_activate;
+
if (unlikely(!cpu_isset(this_cpu, p->cpus_allowed)))
goto out_set_cpu;

--- linux-2.6.16-rc2/kernel/sysctl.c.orig 2006-02-13 18:49:44.342868427 -0800
+++ linux-2.6.16-rc2/kernel/sysctl.c 2006-02-13 18:52:37.038178812 -0800
@@ -71,6 +71,7 @@ extern int printk_ratelimit_burst;
extern int pid_max_min, pid_max_max;
extern int sysctl_drop_caches;
extern int percpu_pagelist_fraction;
+extern int sysctl_wake_balance;

#if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_X86)
int unknown_nmi_panic;
@@ -658,6 +659,14 @@ static ctl_table kern_table[] = {
.proc_handler = &proc_dointvec,
},
#endif
+ {
+ .ctl_name = KERN_WAKE_BALANCE,
+ .procname = "wake_balance",
+ .data = &sysctl_wake_balance,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec,
+ },
{ .ctl_name = 0 }
};

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-14 04:17    [W:0.024 / U:1.688 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site