diff options
author | 2021-08-19 18:04:03 -0700 | |
---|---|---|
committer | 2021-10-05 15:51:39 +0200 | |
commit | 2cae3948edd488ebdef4deaf1d1043f92f47e665 (patch) | |
tree | 1eec087e76212e1c7a3d4aaf20ae8eb0f0d8e139 /kernel/sched/debug.c | |
parent | sched: reduce sched slice for SCHED_IDLE entities (diff) | |
download | linux-rng-2cae3948edd488ebdef4deaf1d1043f92f47e665.tar.xz linux-rng-2cae3948edd488ebdef4deaf1d1043f92f47e665.zip |
sched: adjust sleeper credit for SCHED_IDLE entities
Give reduced sleeper credit to SCHED_IDLE entities. As a result, woken
SCHED_IDLE entities will take longer to preempt normal entities.
The benefit of this change is to make it less likely that a newly woken
SCHED_IDLE entity will preempt a short-running normal entity before it
blocks.
We still give a small sleeper credit to SCHED_IDLE entities, so that
idle<->idle competition retains some fairness.
Example: With HZ=1000, spawned four threads affined to one cpu, one of
which was set to SCHED_IDLE. Without this patch, wakeup latency for the
SCHED_IDLE thread was ~1-2ms, with the patch the wakeup latency was
~5ms.
Signed-off-by: Josh Don <joshdon@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Jiang Biao <benbjiang@tencent.com>
Link: https://lore.kernel.org/r/20210820010403.946838-5-joshdon@google.com
Diffstat (limited to 'kernel/sched/debug.c')
0 files changed, 0 insertions, 0 deletions