sched: remove HZ dependency from the granularity default

remove HZ dependency from the granularity default. Use 10 msec for
the base granularity, 1 msec for wakeup granularity and 25 msec for
batch wakeup granularity. (These defaults are close to the values
that the default HZ=250 setting got previously, and thus it's the
most common setting.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Ingo Molnar 2007-08-24 20:39:10 +02:00
parent 7c6c16f354
commit 71fd371463
2 changed files with 7 additions and 8 deletions

View File

@ -4923,7 +4923,7 @@ static inline void sched_init_granularity(void)
if (sysctl_sched_granularity > gran_limit)
sysctl_sched_granularity = gran_limit;
sysctl_sched_runtime_limit = sysctl_sched_granularity * 8;
sysctl_sched_runtime_limit = sysctl_sched_granularity * 5;
sysctl_sched_wakeup_granularity = sysctl_sched_granularity / 2;
}

View File

@ -19,7 +19,7 @@
/*
* Preemption granularity:
* (default: 2 msec, units: nanoseconds)
* (default: 10 msec, units: nanoseconds)
*
* NOTE: this granularity value is not the same as the concept of
* 'timeslice length' - timeslices in CFS will typically be somewhat
@ -31,18 +31,17 @@
* number of CPUs. (i.e. factor 2x on 2-way systems, 3x on 4-way
* systems, 4x on 8-way systems, 5x on 16-way systems, etc.)
*/
unsigned int sysctl_sched_granularity __read_mostly = 2000000000ULL/HZ;
unsigned int sysctl_sched_granularity __read_mostly = 10000000UL;
/*
* SCHED_BATCH wake-up granularity.
* (default: 10 msec, units: nanoseconds)
* (default: 25 msec, units: nanoseconds)
*
* This option delays the preemption effects of decoupled workloads
* and reduces their over-scheduling. Synchronous workloads will still
* have immediate wakeup/sleep latencies.
*/
unsigned int sysctl_sched_batch_wakeup_granularity __read_mostly =
10000000000ULL/HZ;
unsigned int sysctl_sched_batch_wakeup_granularity __read_mostly = 25000000UL;
/*
* SCHED_OTHER wake-up granularity.
@ -52,12 +51,12 @@ unsigned int sysctl_sched_batch_wakeup_granularity __read_mostly =
* and reduces their over-scheduling. Synchronous workloads will still
* have immediate wakeup/sleep latencies.
*/
unsigned int sysctl_sched_wakeup_granularity __read_mostly = 1000000000ULL/HZ;
unsigned int sysctl_sched_wakeup_granularity __read_mostly = 1000000UL;
unsigned int sysctl_sched_stat_granularity __read_mostly;
/*
* Initialized in sched_init_granularity():
* Initialized in sched_init_granularity() [to 5 times the base granularity]:
*/
unsigned int sysctl_sched_runtime_limit __read_mostly;