[tip: sched/core] sched/debug: Avoid checking in_atomic_preempt_off() twice in schedule_debug()

From: tip-bot2 for Liming Wu
Date: Fri Sep 22 2023 - 05:59:31 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: dc461c48deda8a2d243fbaf49e276d555eb833d8
Gitweb: https://git.kernel.org/tip/dc461c48deda8a2d243fbaf49e276d555eb833d8
Author: Liming Wu <liming.wu@xxxxxxxxxxxxxxx>
AuthorDate: Fri, 25 Aug 2023 10:35:00 +08:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Fri, 22 Sep 2023 11:50:49 +02:00

sched/debug: Avoid checking in_atomic_preempt_off() twice in schedule_debug()

in_atomic_preempt_off() already gets called in schedule_debug() once,
which is the only caller of __schedule_bug().

Skip the second call within __schedule_bug(), it should always be true
at this point.

[ mingo: Clarified the changelog. ]

Signed-off-by: Liming Wu <liming.wu@xxxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20230825023501.1848-1-liming.wu@xxxxxxxxxxxxxxx
---
kernel/sched/core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 52ceb85..1074934 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5899,8 +5899,7 @@ static noinline void __schedule_bug(struct task_struct *prev)
print_modules();
if (irqs_disabled())
print_irqtrace_events(prev);
- if (IS_ENABLED(CONFIG_DEBUG_PREEMPT)
- && in_atomic_preempt_off()) {
+ if (IS_ENABLED(CONFIG_DEBUG_PREEMPT)) {
pr_err("Preemption disabled at:");
print_ip_sym(KERN_ERR, preempt_disable_ip);
}