On Mon, Aug 28, 2023 at 12:55 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > static void notrace __bpf_prog_exit_recur(struct bpf_prog *prog, u64 start, > struct bpf_tramp_run_ctx *run_ctx) > __releases(RCU) > { > bpf_reset_run_ctx(run_ctx->saved_run_ctx); > > - update_prog_stats(prog, start); > + bpf_prog_update_prog_stats(prog, start); I bet this adds a noticeable performance regression. The function was inlined before and the static key made it a nop. Above makes it into a function call. Please use always_inline and move it to a header.