• Daniel Borkmann's avatar
    test_bpf: indicate whether bpf prog got jited in test suite · 327941f8
    Daniel Borkmann authored
    I think this is useful to verify whether a filter could be JITed or
    not in case of bpf_prog_enable >= 1, which otherwise the test suite
    doesn't tell besides taking a good peek at the performance numbers.
    
    Nicolas Schichan reported a bug in the ARM JIT compiler that rejected
    and waved the filter to the interpreter although it shouldn't have.
    Nevertheless, the test passes as expected, but such information is
    not visible.
    
    It's i.e. useful for the remaining classic JITs, but also for
    implementing remaining opcodes that are not yet present in eBPF JITs
    (e.g. ARM64 waves some of them to the interpreter). This minor patch
    allows to grep through dmesg to find those accordingly, but also
    provides a total summary, i.e.: [<X>/53 JIT'ed]
    
      # echo 1 > /proc/sys/net/core/bpf_jit_enable
      # insmod lib/test_bpf.ko
      # dmesg | grep "jited:0"
    
    dmesg example on the ARM issue with JIT rejection:
    
    [...]
    [   67.925387] test_bpf: #2 ADD_SUB_MUL_K jited:1 24 PASS
    [   67.930889] test_bpf: #3 DIV_MOD_KX jited:0 794 PASS
    [   67.943940] test_bpf: #4 AND_OR_LSH_K jited:1 20 20 PASS
    [...]
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Cc: Nicolas Schichan <nschichan@freebox.fr>
    Cc: Alexei Starovoitov <ast@plumgrid.com>
    Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    327941f8
test_bpf.c 57 KB