Re: [PATCH 1/3] smp: Process pending softirqs in flush_smp_call_function_from_idle()

From: Sebastian Andrzej Siewior
Date: Mon Feb 01 2021 - 14:35:52 EST


On 2021-01-23 21:10:25 [+0100], To linux-block@xxxxxxxxxxxxxxx wrote:
> send_call_function_single_ipi() may wake an idle CPU without sending an
> IPI. The woken up CPU will process the SMP-functions in
> flush_smp_call_function_from_idle(). Any raised softirq from within the
> SMP-function call will not be processed.
> Should the CPU have no tasks assigned, then it will go back to idle with
> pending softirqs and the NOHZ will rightfully complain.
>
> Process pending softirqs on return from flush_smp_call_function_queue().
>
> Fixes: b2a02fc43a1f4 ("smp: Optimize send_call_function_single_ipi()")
> Reported-by: Jens Axboe <axboe@xxxxxxxxx>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

A gentle ping.
This isn't just a requirement for the series: rps_trigger_softirq() is
invoked from smp_call_function_single_async() and raises a softirq.

Sebastian