powerpc/64: replay hypervisor maintenance priority
Nicholas Piggin
reviewerPATCH 1/1 powerpc/64: replay hypervisor maintenance priority
The hmi is defined to be higher priority than other maskable interrupts, so replay it first, as a best-effort to replay according to hardware priorities.
Signed-off-by Nicholas Piggin <[email protected]>
--- arch/powerpc/kernel/irq.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
arch/powerpc/kernel/irq.c +9 -5
@@ -155,6 +155,15 @@ notrace unsigned int __check_irq_replay(void) }/* +* Check if an hypervisor Maintenance interrupt happened. +* This is a higher priority interrupt than the others, so +* replay it first. +*/ + local_paca->irq_happened &= ~PACA_IRQ_HMI ; +if (happened &PACA_IRQ_HMI ) +return 0xe60 ; + +/* * We may have missed a decrementer interrupt. We check the * decrementer itself rather than the paca irq_happened field * in case we also had a rollover while hard disabled
@@ -189,11 +198,6 @@ notrace unsigned int __check_irq_replay(void) }#endif /* CONFIG_PPC_BOOK3E */ -/* Check if an hypervisor Maintenance interrupt happened */ - local_paca->irq_happened &= ~PACA_IRQ_HMI ; -if (happened &PACA_IRQ_HMI ) -return 0xe60 ; -/* There should be nothing left ! */ BUG_ON (local_paca->irq_happened !=0 );
Signature · 1 line
2.9.3
Michael Ellerman
AppliedQuoted 5 lines · Nicholas Piggin
The hmi is defined to be higher priority than other maskable interrupts, so replay it first, as a best-effort to replay according to hardware priorities.
Signed-off-by Nicholas Piggin <[email protected]>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/e0e0d6b7390b61feb06350ef4a
cheers