[PATCH v8 4/4] arm64: switch to irq_stack during softirq
Catalin Marinas
catalin.marinas at arm.com
Fri Dec 4 06:01:19 PST 2015
On Fri, Dec 04, 2015 at 11:02:28AM +0000, James Morse wrote:
> +ENTRY(__do_softirq_on_irqstack)
> + push x19, lr
> + push x25, x26
> +
> + irq_stack_entry lr
> +
> + /* irq_stack_entry leaves irq_count in x25 */
> + ldr x1, [x25]
> + add x1, x1, #1
> + str x1, [x25]
> +
> + bl __do_softirq
> +
> + ldr x1, [x25]
> + sub x1, x1, #1
> + str x1, [x25]
> +
> + irq_stack_exit
> +
> + pop x25, x26
> + pop x19, lr
> + ret
> +ENDPROC(__do_softirq_on_irqstack)
I was thinking of doing do_softirq_own_stack() entirely in assembly
without the need to check for on_irq_stack() check in C, just a test of
the irq_count value.
But this means collapsing patches 3 and 4 ;).
--
Catalin
More information about the linux-arm-kernel
mailing list