Thread (25 messages) 25 messages, 6 authors, 1d ago

Re: [PATCH v5 0/8] Generic IRQ entry/exit support for powerpc

From: Mukesh Kumar Chaurasiya <hidden>
Date: 2026-07-07 16:55:00
Also in: lkml

On Tue, Jul 07, 2026 at 06:34:45PM +0200, Andreas Schwab wrote:
On Jul 07 2026, Mukesh Kumar Chaurasiya wrote:
quoted
diff --git a/arch/powerpc/include/asm/entry-common.h b/arch/powerpc/include/asm/entry-common.h
index fc636c42e89a..b6373bae4524 100644
--- a/arch/powerpc/include/asm/entry-common.h
+++ b/arch/powerpc/include/asm/entry-common.h
@@ -286,14 +286,6 @@ static inline void arch_interrupt_async_enter_prepare(struct pt_regs *regs)
 
 static inline void arch_interrupt_async_exit_prepare(struct pt_regs *regs)
 {
-       /*
-        * Adjust at exit so the main handler sees the true NIA. This must
-        * come before irq_exit() because irq_exit can enable interrupts, and
-        * if another interrupt is taken before nap_adjust_return has run
-        * here, then that interrupt would return directly to idle nap return.
-        */
-       nap_adjust_return(regs);
-
        arch_interrupt_exit_prepare(regs);
 }
 
diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/asm/interrupt.h
index fb42a664ae54..1b45a49e9bed 100644
--- a/arch/powerpc/include/asm/interrupt.h
+++ b/arch/powerpc/include/asm/interrupt.h
@@ -246,6 +246,7 @@ interrupt_handler void func(struct pt_regs *regs)                   \
        instrumentation_begin();                                        \
        irq_enter_rcu();                                                \
        ____##func (regs);                                              \
+       nap_adjust_return(regs);                                        \
        irq_exit_rcu();                                                 \
        instrumentation_end();                                          \
        arch_interrupt_async_exit_prepare(regs);                        \
This allows the system to boot normally.
Thanks for testing this. I am assuming you tried this without
"powersave=off" command line option.

I'll send out a fix for this.

Regards,
Mukesh
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help