]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
tick/nohz: Fix inverted return value in check_tick_dependency() fast path
authorJosh Snyder <josh@code406.com>
Thu, 2 Apr 2026 23:23:38 +0000 (16:23 -0700)
committerThomas Gleixner <tglx@kernel.org>
Tue, 7 Apr 2026 13:30:21 +0000 (15:30 +0200)
commit82b915051d32a68ea3bbe261c93f5620699ff047
tree7b708b3ad1f52d5cfab7be5bb065cd543eb9f456
parent591cd656a1bf5ea94a222af5ef2ee76df029c1d2
tick/nohz: Fix inverted return value in check_tick_dependency() fast path

Commit 56534673cea7f ("tick/nohz: Optimize check_tick_dependency() with
early return") added a fast path that returns !val when the tick_stop
tracepoint is disabled.

This is inverted: the slow path returns true when a dependency IS found
(val != 0), but !val returns true when val is zero (no dependency).  The
result is that can_stop_full_tick() sees "dependency found" when there are
none, and the tick never stops on nohz_full CPUs.

Fix this by returning !!val instead of !val, matching the slow-path semantics.

Fixes: 56534673cea7f ("tick/nohz: Optimize check_tick_dependency() with early return")
Signed-off-by: Josh Snyder <josh@code406.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Assisted-by: Claude:claude-opus-4-6
Link: https://patch.msgid.link/20260402-fix-idle-tick2-v1-1-eecb589649d3@code406.com
kernel/time/tick-sched.c