diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2018-07-12 20:45:23 +0200 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-07-12 20:45:24 +0200 |
commit | 6fd066604123ed4ab71aefe797d35996655c5eb1 (patch) | |
tree | 28018ae714d52605241c12619b915a3f81adfe89 /firmware | |
parent | b103cbe0d7218d9633fe59965038ae23825b5d99 (diff) | |
parent | 8c9602d38c7262664c31332101f540c1e179797d (diff) | |
download | linux-6fd066604123ed4ab71aefe797d35996655c5eb1.tar.gz |
Merge branch 'bpf-arm-jit-improvements'
Russell King says:
====================
This series improves the ARM BPF JIT compiler by:
- enumerating the stack layout rather than using constants that happen
to be multiples of four
- rejig the BPF "register" accesses to use negative numbers instead of
positive, which could be confused with register numbers in the bpf2a32
array.
- since we maintain the ARM FP register as a pointer to the top of our
scratch space (or, with frame pointers enabled, a valid ARM frame
pointer register), we can access our scratch space using FP, which is
constant across all BPF programs, including tail-called programs.
- use immediate forms of ARM instructions where possible, rather than
first loading the immediate into an ARM register.
- use load-with-shift instruction rather than seperate shift instruction
followed by load
- avoid reloading index and array in the tail-call code
- use double-word load/store instructions where available
Version 2:
- Fix ARMv5 test pointed out by Olof
- Fix build error found by 0-day (adding an additional patch)
====================
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'firmware')
0 files changed, 0 insertions, 0 deletions