]> git.baikalelectronics.ru Git - kernel.git/commit
sched: Make RCU nest depth distinct in __might_resched()
authorThomas Gleixner <tglx@linutronix.de>
Thu, 23 Sep 2021 16:54:43 +0000 (18:54 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 1 Oct 2021 11:57:51 +0000 (13:57 +0200)
commit4cad14a782c6490918dfd5a67e14e5d8f0224f57
treeca4532d6008097e6e5b81ba564e67460a945dc37
parentfdade0a8b3f3a27991cf5af90d4bb24905d918bb
sched: Make RCU nest depth distinct in __might_resched()

For !RT kernels RCU nest depth in __might_resched() is always expected to
be 0, but on RT kernels it can be non zero while the preempt count is
expected to be always 0.

Instead of playing magic games in interpreting the 'preempt_offset'
argument, rename it to 'offsets' and use the lower 8 bits for the expected
preempt count, allow to hand in the expected RCU nest depth in the upper
bits and adopt the __might_resched() code and related checks and printks.

The affected call sites are updated in subsequent steps.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20210923165358.243232823@linutronix.de
include/linux/kernel.h
include/linux/sched.h
kernel/sched/core.c