[PATCH v5 24/32] ARM: run softirqs on the per-CPU IRQ stack

Ard Biesheuvel ardb at kernel.org
Tue Mar 22 02:35:18 PDT 2022


On Tue, 22 Mar 2022 at 10:04, Sebastian Andrzej Siewior
<bigeasy at linutronix.de> wrote:
>
> On 2022-01-24 18:47:36 [+0100], Ard Biesheuvel wrote:
> > @@ -58,6 +61,17 @@ static void __init init_irq_stacks(void)
> >       }
> >  }
> >
> > +static void ____do_softirq(void *arg)
> > +{
> > +     __do_softirq();
> > +}
> > +
> > +void do_softirq_own_stack(void)
> > +{
> > +     call_with_stack(____do_softirq, NULL,
> > +                     __this_cpu_read(irq_stack_ptr));
> > +}
> > +
>
> Do I miss the obvious here or is the irq_stack_ptr only used for
> softirqs and not for hardirqs?
>
> >  int arch_show_interrupts(struct seq_file *p, int prec)
> >  {
> >  #ifdef CONFIG_FIQ
>

It is also used for hard IRQs - please refer to the irq_handler macro
in arch/arm/kernel/entry-armv.S



More information about the linux-arm-kernel mailing list