From: Nicholas Piggin <npiggin@gmail.com> Date: 2020-06-11 12:14:32
blrl is not recommended to use as an indirect function call, as it may
corrupt the link stack predictor.
This is not a performance critical path but this should be fixed for
consistency.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/kernel/entry_64.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
blrl is not recommended to use as an indirect function call, as it may
corrupt the link stack predictor.
This is not a performance critical path but this should be fixed for
consistency.
There's exactly the same in entry_32.S
Should it be changed there too ... for consistency :) ?
ppc32 also uses blrl for calling syscall handler, should it be changed
as well ?
Christophe
From: Nicholas Piggin <npiggin@gmail.com> Date: 2020-06-14 09:26:14
Excerpts from Christophe Leroy's message of June 11, 2020 10:26 pm:
Le 11/06/2020 à 14:11, Nicholas Piggin a écrit :
quoted
blrl is not recommended to use as an indirect function call, as it may
corrupt the link stack predictor.
This is not a performance critical path but this should be fixed for
consistency.
There's exactly the same in entry_32.S
Should it be changed there too ... for consistency :) ?
ppc32 also uses blrl for calling syscall handler, should it be changed
as well ?
Yes I would say so. I don't know much about 32-bit implementations but
MPC7450 at least has a link stack predictor.
Thanks,
Nick
From: Michael Ellerman <hidden> Date: 2020-06-26 05:11:51
On Thu, 11 Jun 2020 22:11:19 +1000, Nicholas Piggin wrote:
blrl is not recommended to use as an indirect function call, as it may
corrupt the link stack predictor.
This is not a performance critical path but this should be fixed for
consistency.