projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d9ab6da
)
powerpc/bpf/32: No need to zeroise r4 when not doing tail call
author
Christophe Leroy
<christophe.leroy@csgroup.eu>
Wed, 1 Feb 2023 10:04:24 +0000
(11:04 +0100)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Fri, 10 Feb 2023 11:17:34 +0000
(22:17 +1100)
r4 is cleared at function entry and used as tail call count.
But when the function does not perform tail call, r4 is
ignored, so no need to clear it.
Replace it by a NOP in that case.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link:
https://lore.kernel.org/r/9c5440b2b6d90a78600257433ac499b5c5101fbb.1675245773.git.christophe.leroy@csgroup.eu
arch/powerpc/net/bpf_jit_comp32.c
patch
|
blob
|
history
diff --git
a/arch/powerpc/net/bpf_jit_comp32.c
b/arch/powerpc/net/bpf_jit_comp32.c
index
a379b0c
..
4e6caee
100644
(file)
--- a/
arch/powerpc/net/bpf_jit_comp32.c
+++ b/
arch/powerpc/net/bpf_jit_comp32.c
@@
-114,7
+114,10
@@
void bpf_jit_build_prologue(u32 *image, struct codegen_context *ctx)
int i;
/* Initialize tail_call_cnt, to be skipped if we do tail calls. */
- EMIT(PPC_RAW_LI(_R4, 0));
+ if (ctx->seen & SEEN_TAILCALL)
+ EMIT(PPC_RAW_LI(_R4, 0));
+ else
+ EMIT(PPC_RAW_NOP());
#define BPF_TAILCALL_PROLOGUE_SIZE 4