• Alexei Starovoitov's avatar
    bpf: split eBPF out of NET · f89b7755
    Alexei Starovoitov authored
    introduce two configs:
    - hidden CONFIG_BPF to select eBPF interpreter that classic socket filters
      depend on
    - visible CONFIG_BPF_SYSCALL (default off) that tracing and sockets can use
    
    that solves several problems:
    - tracing and others that wish to use eBPF don't need to depend on NET.
      They can use BPF_SYSCALL to allow loading from userspace or select BPF
      to use it directly from kernel in NET-less configs.
    - in 3.18 programs cannot be attached to events yet, so don't force it on
    - when the rest of eBPF infra is there in 3.19+, it's still useful to
      switch it off to minimize kernel size
    
    bloat-o-meter on x64 shows:
    add/remove: 0/60 grow/shrink: 0/2 up/down: 0/-15601 (-15601)
    
    tested with many different config combinations. Hopefully didn't miss anything.
    Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
    Acked-by: default avatarDaniel Borkmann <dborkman@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f89b7755
core.c 16.6 KB