[PATCH v7 3/3] arm64: Add do_softirq_own_stack() and enable irq_stacks

James Morse james.morse at arm.com
Fri Dec 4 03:00:19 PST 2015


On 27/11/15 11:47, Catalin Marinas wrote:
> With this approach, we could run softirq either on the IRQ stack or on
> the process stack. One such process is softirqd, so there shouldn't be a
> problem since its goal is to run softirqs. But do_softirq() may be
> invoked from other contexts (network stack), I'm not sure what the stack
> looks like at that point.

As long as we don't reduce the stack sizes yet - nothing has changed. We
already run __do_softirq() on other task's stacks via __irq_exit().


> We could just do like x86 and always switch to the IRQ stack before
> invoking __do_softirq(). I don't think we lose much.

I will add an extra patch to do this - its not as straight forward as I
would like - as both ksoftirqd and softirq on irq_stack call
do_softirq_own_stack() with irq_count == 0.


Thanks,

James



More information about the linux-arm-kernel mailing list