• Martin KaFai Lau's avatar
    bpf: Allow bpf sample programs (*_user.c) to change bpf_map_def · 9fd63d05
    Martin KaFai Lau authored
    The current bpf_map_def is statically defined during compile
    time.  This patch allows the *_user.c program to change it during
    runtime.  It is done by adding load_bpf_file_fixup_map() which
    takes a callback.  The callback will be called before creating
    each map so that it has a chance to modify the bpf_map_def.
    
    The current usecase is to change max_entries in map_perf_test.
    It is interesting to test with a much bigger map size in
    some cases (e.g. the following patch on bpf_lru_map.c).
    However,  it is hard to find one size to fit all testing
    environment.  Hence, it is handy to take the max_entries
    as a cmdline arg and then configure the bpf_map_def during
    runtime.
    
    This patch adds two cmdline args.  One is to configure
    the map's max_entries.  Another is to configure the max_cnt
    which controls how many times a syscall is called.
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Acked-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>
    9fd63d05
bpf_load.c 14.9 KB