[PATCH v2 9/9] ARM: run softirqs on the per-CPU IRQ stack

Ard Biesheuvel ardb at kernel.org
Wed Oct 6 08:21:00 PDT 2021


On Tue, 5 Oct 2021 at 14:23, Arnd Bergmann <arnd at arndb.de> wrote:
>
> On Tue, Oct 5, 2021 at 9:15 AM Ard Biesheuvel <ardb at kernel.org> wrote:
> >
> > Now that we have enabled IRQ stacks, any softIRQs that are handled over
> > the back of a hard IRQ will run from the IRQ stack as well. However, any
> > synchronous softirq processing that happens when re-enabling softIRQs
> > from task context will still execute on that task's stack.
> >
> > So let's wire up the existing infrastructure to run these softIRQs from
> > the IRQ stack as well.
> >
> > Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
>
> The change looks reasonable, but maybe try to explain why it is
> a good idea to do this.
>
> Reviewed-by: Arnd Bergmann <arnd at arndb.de>

Sure. I will add something along the lines of

"""
Since any call to local_bh_enable() at any level in the task's call
stack may trigger a softIRQ processing run, which could potentially
cause a task stack overflow if the combined stack footprints exceed
the stack's size, let's run these synchronous invocations of
do_softirq() on the IRQ stack as well.
"""



More information about the linux-arm-kernel mailing list