Re: [PATCH] tick/block: Add BLOCK_SOFTIRQ to the hotplug safe mask

From: Frederic Weisbecker

Date: Fri Sep 18 2026 - 08:45:42 EST


Le Fri, Sep 04, 2026 at 02:45:06PM +0800, Wang Shuaiwei a écrit :
> During CPU-hotplug stress testing combined with an I/O
> workload, the following message is observed:
>
> "NOHZ tick-stop error: local softirq work is pending, handler #10!!!"
>
> On CPU offline, ksoftirqd is parked at CPUHP_AP_SMPBOOT_THREADS while
> the CPU still takes interrupts. A block completion raised after that
> point stays pending, and if the dying CPU goes idle before teardown,
> report_idle_softirq() sees it, keeps the tick alive and prints the
> error above.
>
> Such pending block completions on the outgoing CPU are drained later by
> blk_softirq_cpu_dead() (CPUHP_BLOCK_SOFTIRQ_DEAD), so a pending
> BLOCK_SOFTIRQ is harmless here. Add it to SOFTIRQ_HOTPLUG_SAFE_MASK
> like the other teardown-covered vectors.
>
> Signed-off-by: Wang Shuaiwei <wangshuaiwei1@xxxxxxxxxx>

Reviewed-by: Frederic Weisbecker <frederic@xxxxxxxxxx>

--
Frederic Weisbecker
SUSE Labs