]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'bpf-arm-jit-improvements'
authorDaniel Borkmann <daniel@iogearbox.net>
Thu, 12 Jul 2018 18:45:23 +0000 (20:45 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 12 Jul 2018 18:45:24 +0000 (20:45 +0200)
commit0127f84487b9511347953e69dfec358cf49c513f
tree28018ae714d52605241c12619b915a3f81adfe89
parent2a4a31af578e329ba5afe90d30a963ab64661eda
parent88618f7ebba19f0a6ab2b1d3e1c70febcacb783f
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>