-
Notifications
You must be signed in to change notification settings - Fork 5
s390/bpf: Use direct calls and jumps where possible #5746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
s390/bpf: Use direct calls and jumps where possible #5746
Conversation
|
Upstream branch: 0786654 |
5e1a4c1 to
91606c1
Compare
|
Upstream branch: dc0fe95 |
fca2d32 to
eeaed2c
Compare
91606c1 to
9e5d665
Compare
|
Upstream branch: c80d797 |
eeaed2c to
771dee5
Compare
9e5d665 to
f86fd37
Compare
|
Upstream branch: abdaf49 |
771dee5 to
ee8e4fe
Compare
f86fd37 to
2842450
Compare
|
Upstream branch: 3ec8560 |
ee8e4fe to
9ad7f0b
Compare
2842450 to
53b8665
Compare
|
Upstream branch: 1274163 |
9ad7f0b to
15acc3d
Compare
53b8665 to
26f4a08
Compare
|
Upstream branch: d87fdb1 |
15acc3d to
7fe0e7e
Compare
26f4a08 to
032ad98
Compare
|
Upstream branch: dbe99ea |
7fe0e7e to
0d24bd5
Compare
032ad98 to
728c457
Compare
|
Upstream branch: 6850a33 |
0d24bd5 to
7aa8dd2
Compare
728c457 to
a5fe106
Compare
|
Upstream branch: dbe99ea |
7aa8dd2 to
f0b2540
Compare
a5fe106 to
34c4028
Compare
|
Upstream branch: 5c42715 |
f0b2540 to
479f317
Compare
34c4028 to
2ef6166
Compare
After the V!=R rework (commit c98d2ec ("s390/mm: Uncouple physical vs virtual address spaces")), all kernel code and related data are allocated within a 4G region, making it possible to use relative addressing in BPF code more extensively. Convert as many indirect calls and jumps to direct calls as possible, namely: * BPF_CALL * __bpf_tramp_enter() * __bpf_tramp_exit() * __bpf_prog_enter() * __bpf_prog_exit() * fentry * fmod_ret * fexit * BPF_TRAMP_F_CALL_ORIG without BPF_TRAMP_F_ORIG_STACK * Trampoline returns without BPF_TRAMP_F_SKIP_FRAME and BPF_TRAMP_F_ORIG_STACK The following indirect calls and jumps remain: * Prog returns * Trampoline returns with BPF_TRAMP_F_SKIP_FRAME or BPF_TRAMP_F_ORIG_STACK * BPF_TAIL_CALL * BPF_TRAMP_F_CALL_ORIG with BPF_TRAMP_F_ORIG_STACK As a result, only one usage of call_r1() remains, so inline it. Signed-off-by: Ilya Leoshkevich <[email protected]>
|
Upstream branch: bf7a6a6 |
479f317 to
11788b8
Compare
|
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=991502 expired. Closing PR. |
Pull request for series with
subject: s390/bpf: Use direct calls and jumps where possible
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=991502