Skip to content

Commit

Permalink
sched: remove HZ dependency from the granularity default
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ingo Molnar committed Aug 24, 2007
1 parent 7c6c16f commit 71fd371
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
2 changes: 1 addition & 1 deletion kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
13 changes: 6 additions & 7 deletions kernel/sched_fair.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand All @@ -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;

Expand Down

0 comments on commit 71fd371

Please sign in to comment.