Skip to content

Commit 951c82a

Browse files
tytydracoPixelBoot
authored andcommitted
sched/fair: Make scheduling period more efficient
Finish scheduling within 10 Ms (every tick for 100 Hz timers). Additionally, use a 1.25 Ms minimum granularity to set nr_latency to 8. Therefore, <= 8 tasks running should finish in 10 Ms. We should gain better battery and throughput by using this configuration. Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
1 parent c0cdfdb commit 951c82a

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

kernel/sched/fair.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
* (to see the precise effective timeslice length of your workload,
5151
* run vmstat and monitor the context-switches (cs) field)
5252
*/
53-
unsigned int sysctl_sched_latency = 6000000ULL;
54-
unsigned int normalized_sysctl_sched_latency = 6000000ULL;
53+
unsigned int sysctl_sched_latency = 10000000ULL;
54+
unsigned int normalized_sysctl_sched_latency = 10000000ULL;
5555

5656
unsigned int sysctl_sched_sync_hint_enable = 1;
5757
unsigned int sysctl_sched_cstate_aware = 1;
@@ -72,14 +72,14 @@ __read_mostly unsigned int sysctl_sched_walt_cpu_high_irqload =
7272
* SCHED_TUNABLESCALING_LINEAR - scaled linear, *ncpus
7373
*/
7474
enum sched_tunable_scaling sysctl_sched_tunable_scaling
75-
= SCHED_TUNABLESCALING_LOG;
75+
= SCHED_TUNABLESCALING_NONE;
7676

7777
/*
7878
* Minimal preemption granularity for CPU-bound tasks:
7979
* (default: 0.75 msec * (1 + ilog(ncpus)), units: nanoseconds)
8080
*/
81-
unsigned int sysctl_sched_min_granularity = 750000ULL;
82-
unsigned int normalized_sysctl_sched_min_granularity = 750000ULL;
81+
unsigned int sysctl_sched_min_granularity = 1250000ULL;
82+
unsigned int normalized_sysctl_sched_min_granularity = 1250000ULL;
8383

8484
/*
8585
* is kept at sysctl_sched_latency / sysctl_sched_min_granularity

0 commit comments

Comments
 (0)