aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorZou Nan hai <nanhai.zou@intel.com>2007-11-26 15:21:49 -0500
committerIngo Molnar <mingo@elte.hu>2007-11-26 15:21:49 -0500
commit722aab0c3bbd7648d66790515c14d95d10a15bf3 (patch)
treef1a2f2c8cbcdcffac8bc6f05d17a8711f611aa96 /kernel
parent58e1010da3c15e7bdf426b0a3d4b13dba1b7d055 (diff)
sched: fix minimum granularity tunings
increase the default minimum granularity some more - this gives us more performance in aim7 benchmarks. also correct some comments: we scale with ilog(ncpus) + 1. Signed-off-by: Zou Nan hai <nanhai.zou@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched_fair.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index ee00da284b1..2f16e15c022 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -22,7 +22,7 @@
22 22
23/* 23/*
24 * Targeted preemption latency for CPU-bound tasks: 24 * Targeted preemption latency for CPU-bound tasks:
25 * (default: 20ms * ilog(ncpus), units: nanoseconds) 25 * (default: 20ms * (1 + ilog(ncpus)), units: nanoseconds)
26 * 26 *
27 * NOTE: this latency value is not the same as the concept of 27 * NOTE: this latency value is not the same as the concept of
28 * 'timeslice length' - timeslices in CFS are of variable length 28 * 'timeslice length' - timeslices in CFS are of variable length
@@ -36,14 +36,14 @@ unsigned int sysctl_sched_latency = 20000000ULL;
36 36
37/* 37/*
38 * Minimal preemption granularity for CPU-bound tasks: 38 * Minimal preemption granularity for CPU-bound tasks:
39 * (default: 1 msec * ilog(ncpus), units: nanoseconds) 39 * (default: 4 msec * (1 + ilog(ncpus)), units: nanoseconds)
40 */ 40 */
41unsigned int sysctl_sched_min_granularity = 1000000ULL; 41unsigned int sysctl_sched_min_granularity = 4000000ULL;
42 42
43/* 43/*
44 * is kept at sysctl_sched_latency / sysctl_sched_min_granularity 44 * is kept at sysctl_sched_latency / sysctl_sched_min_granularity
45 */ 45 */
46static unsigned int sched_nr_latency = 20; 46static unsigned int sched_nr_latency = 5;
47 47
48/* 48/*
49 * After fork, child runs first. (default) If set to 0 then 49 * After fork, child runs first. (default) If set to 0 then
@@ -61,7 +61,7 @@ unsigned int __read_mostly sysctl_sched_compat_yield;
61 61
62/* 62/*
63 * SCHED_BATCH wake-up granularity. 63 * SCHED_BATCH wake-up granularity.
64 * (default: 10 msec * ilog(ncpus), units: nanoseconds) 64 * (default: 10 msec * (1 + ilog(ncpus)), units: nanoseconds)
65 * 65 *
66 * This option delays the preemption effects of decoupled workloads 66 * This option delays the preemption effects of decoupled workloads
67 * and reduces their over-scheduling. Synchronous workloads will still 67 * and reduces their over-scheduling. Synchronous workloads will still
@@ -71,7 +71,7 @@ unsigned int sysctl_sched_batch_wakeup_granularity = 10000000UL;
71 71
72/* 72/*
73 * SCHED_OTHER wake-up granularity. 73 * SCHED_OTHER wake-up granularity.
74 * (default: 10 msec * ilog(ncpus), units: nanoseconds) 74 * (default: 10 msec * (1 + ilog(ncpus)), units: nanoseconds)
75 * 75 *
76 * This option delays the preemption effects of decoupled workloads 76 * This option delays the preemption effects of decoupled workloads
77 * and reduces their over-scheduling. Synchronous workloads will still 77 * and reduces their over-scheduling. Synchronous workloads will still