summaryrefslogtreecommitdiffstats
path: root/arch/csky/Kconfig
diff options
context:
space:
mode:
authorMark Rutland <mark.rutland@arm.com>2021-10-19 19:28:39 +0200
committerMark Rutland <mark.rutland@arm.com>2021-10-26 11:12:53 +0200
commit26dc129342cfc1e09dcf8473331efcf419a471af (patch)
tree5b0519ef8c8ddd1b55312c06c6589d1d1df33d20 /arch/csky/Kconfig
parentirq: arm: perform irqentry in entry code (diff)
downloadlinux-26dc129342cfc1e09dcf8473331efcf419a471af.tar.xz
linux-26dc129342cfc1e09dcf8473331efcf419a471af.zip
irq: arm64: perform irqentry in entry code
In preparation for removing HANDLE_DOMAIN_IRQ_IRQENTRY, have arch/arm64 perform all the irqentry accounting in its entry code. As arch/arm64 already performs portions of the irqentry logic in enter_from_kernel_mode() and exit_to_kernel_mode(), including rcu_irq_{enter,exit}(), the only additional calls that need to be made are to irq_{enter,exit}_rcu(). Removing the calls to rcu_irq_{enter,exit}() from handle_domain_irq() ensures that we inform RCU once per IRQ entry and will correctly identify quiescent periods. Since we should not call irq_{enter,exit}_rcu() when entering a pseudo-NMI, el1_interrupt() is reworked to have separate __el1_irq() and __el1_pnmi() paths for regular IRQ and psuedo-NMI entry, with irq_{enter,exit}_irq() only called for the former. In preparation for removing HANDLE_DOMAIN_IRQ, the irq regs are managed in do_interrupt_handler() for both regular IRQ and pseudo-NMI. This is currently redundant, but not harmful. For clarity the preemption logic is moved into __el1_irq(). We should never preempt within a pseudo-NMI, and arm64_enter_nmi() already enforces this by incrementing the preempt_count, but it's clearer if we never invoke the preemption logic when entering a pseudo-NMI. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Pingfan Liu <kernelfans@gmail.com> Reviewed-by: Marc Zyngier <maz@kernel.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/csky/Kconfig')
0 files changed, 0 insertions, 0 deletions