• Alexei Starovoitov's avatar
    bpf: Convert bpf_preload.ko to use light skeleton. · cb80ddc6
    Alexei Starovoitov authored
    
    
    The main change is a move of the single line
      #include "iterators.lskel.h"
    from iterators/iterators.c to bpf_preload_kern.c.
    Which means that generated light skeleton can be used from user space or
    user mode driver like iterators.c or from the kernel module or the kernel itself.
    The direct use of light skeleton from the kernel module simplifies the code,
    since UMD is no longer necessary. The libbpf.a required user space and UMD. The
    CO-RE in the kernel and generated "loader bpf program" used by the light
    skeleton are capable to perform complex loading operations traditionally
    provided by libbpf. In addition UMD approach was launching UMD process
    every time bpffs has to be mounted. With light skeleton in the kernel
    the bpf_preload kernel module loads bpf iterators once and pins them
    multiple times into different bpffs mounts.
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Acked-by: Yonghong Song <...
    cb80ddc6
inode.c 16.8 KB