• Alexei Starovoitov's avatar
    bpf: reduce verifier memory consumption · 638f5b90
    Alexei Starovoitov authored
    the verifier got progressively smarter over time and size of its internal
    state grew as well. Time to reduce the memory consumption.
    
    Before:
    sizeof(struct bpf_verifier_state) = 6520
    After:
    sizeof(struct bpf_verifier_state) = 896
    
    It's done by observing that majority of BPF programs use little to
    no stack whereas verifier kept all of 512 stack slots ready always.
    Instead dynamically reallocate struct verifier state when stack
    access is detected.
    Runtime difference before vs after is within a noise.
    The number of processed instructions stays the same.
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    638f5b90
verifier.c 135 KB