[BUG] NOHZ tick-stop error: local softirq work is pending

From: Michal Pecio

Date: Sat Aug 29 2026 - 14:14:15 EST


Hi,

I'm getting these warnings on current mainline. Quite reliable trigger
is I/O load (like md5sum /dev/sda) on an otherwise idle system:

[ 86.082138] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 117.959975] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 121.054544] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 121.988208] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 143.932445] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 156.083120] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 156.685222] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 156.789911] NOHZ tick-stop error: local softirq work is pending, handler #40!!!
[ 158.986070] NOHZ tick-stop error: local softirq work is pending, handler #40!!!

I see it consistently across several reboots. I also did two v7.2
boots with the same workload and these ran cleanly 10 minutes each,
so it looks like a merge window regression.

The system is ordinary x86-64 with CONFIG_PREEMPT.

grep HZ .config:

CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
# CONFIG_NO_HZ is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000

It seems bisectable, but maybe somebody has better ideas?

Regards,
Michal