Skip to content

Commit 539fbb5

Browse files
KAGA-KOKOPeter Zijlstra
authored andcommitted
sched: Disable TTWU_QUEUE on RT
The queued remote wakeup mechanism has turned out to be suboptimal for RT enabled kernels. The maximum latencies go up by a factor of > 5x in certain scenarious. This is caused by either long wake lists or by a large number of TTWU IPIs which are processed back to back. Disable it for RT. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent 691925f commit 539fbb5

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

kernel/sched/features.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,16 @@ SCHED_FEAT(DOUBLE_TICK, false)
4646
*/
4747
SCHED_FEAT(NONTASK_CAPACITY, true)
4848

49+
#ifdef CONFIG_PREEMPT_RT
50+
SCHED_FEAT(TTWU_QUEUE, false)
51+
#else
52+
4953
/*
5054
* Queue remote wakeups on the target CPU and process them
5155
* using the scheduler IPI. Reduces rq->lock contention/bounces.
5256
*/
5357
SCHED_FEAT(TTWU_QUEUE, true)
58+
#endif
5459

5560
/*
5661
* When doing wakeups, attempt to limit superfluous scans of the LLC domain.

0 commit comments

Comments
 (0)