Nicholas Piggin <npig...@gmail.com> writes: > The __replay_interrupt code is branched to with bl, but the caller is > returned to directly with rfid from the interrupt. > > Instead return to a return stub that returns to the caller with blr, > which should do better with the return predictor. > > Signed-off-by: Nicholas Piggin <npig...@gmail.com> > --- > arch/powerpc/kernel/exceptions-64s.S | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/kernel/exceptions-64s.S > b/arch/powerpc/kernel/exceptions-64s.S > index a04ee0d7f88e..d55201625ea3 100644 > --- a/arch/powerpc/kernel/exceptions-64s.S > +++ b/arch/powerpc/kernel/exceptions-64s.S > @@ -1586,7 +1586,7 @@ _GLOBAL(__replay_interrupt) > * we don't give a damn about, so we don't bother storing them. > */ > mfmsr r12 > - mflr r11 > + LOAD_REG_ADDR(r11, __replay_interrupt_return)
Can you make it a local label, to make it clear nothing outside the file returns to there, and to not clutter the symbol map? cheers