• Sandipan Das's avatar
    bpf: powerpc64: optimize JIT passes for bpf function calls · 025dceb0
    Sandipan Das authored
    Once the JITed images for each function in a multi-function program
    are generated after the first three JIT passes, we only need to fix
    the target address for the branch instruction corresponding to each
    bpf-to-bpf function call.
    
    This introduces the following optimizations for reducing the work
    done by the JIT compiler when handling multi-function programs:
    
      [1] Instead of doing two extra passes to fix the bpf function calls,
          do just one as that would be sufficient.
    
      [2] During the extra pass, only overwrite the instruction sequences
          for the bpf-to-bpf function calls as everything else would still
          remain exactly the same. This also reduces the number of writes
          to the JITed image.
    
      [3] Do not regenerate the prologue and the epilogue during the extra
          pass as that would be redundant.
    Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    025dceb0
bpf_jit_comp64.c 30.8 KB