From: Alexei Starovoitov <ast@xxxxxxxxxx> v4: - split migrate_disable into separate patch v3: - address review comments - improve recursion selftest Several bpf improvements: - optimize prog stats - compute stats for sleepable progs - prevent recursion fentry/fexit and sleepable progs - allow map-in-map and per-cpu maps in sleepable progs Alexei Starovoitov (9): bpf: Optimize program stats bpf: Run sleepable programs with migration disabled bpf: Compute program stats for sleepable programs bpf: Add per-program recursion prevention mechanism selftest/bpf: Add a recursion test bpf: Count the number of times recursion was prevented selftests/bpf: Improve recursion selftest bpf: Allows per-cpu maps and map-in-map in sleepable programs selftests/bpf: Add a test for map-in-map and per-cpu maps in sleepable progs arch/x86/net/bpf_jit_comp.c | 46 ++++++----- include/linux/bpf.h | 16 +--- include/linux/filter.h | 16 +++- include/uapi/linux/bpf.h | 1 + kernel/bpf/core.c | 16 +++- kernel/bpf/hashtab.c | 4 +- kernel/bpf/syscall.c | 16 ++-- kernel/bpf/trampoline.c | 77 +++++++++++++++---- kernel/bpf/verifier.c | 9 ++- tools/bpf/bpftool/prog.c | 4 + tools/include/uapi/linux/bpf.h | 1 + .../selftests/bpf/prog_tests/fexit_stress.c | 4 +- .../selftests/bpf/prog_tests/recursion.c | 41 ++++++++++ .../bpf/prog_tests/trampoline_count.c | 4 +- tools/testing/selftests/bpf/progs/lsm.c | 69 +++++++++++++++++ tools/testing/selftests/bpf/progs/recursion.c | 46 +++++++++++ 16 files changed, 303 insertions(+), 67 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/recursion.c create mode 100644 tools/testing/selftests/bpf/progs/recursion.c -- 2.24.1