This patch set adds support to permit multiple bpf prog attachments for a single perf tracepoint event. Patch 1 does some cleanup such that perf_event_{set|free}_bpf_handler is called under the same condition. Patch 2 has the core implementation, and Patch 3 adds a test case.
Changelogs: v2 -> v3: . fix compilation error. v1 -> v2: . fix a potential deadlock issue discovered by Daniel. . fix some coding style issues. Yonghong Song (3): bpf: use the same condition in perf event set/free bpf handler bpf: permit multiple bpf attachments for a single perf event bpf: add a test case to test single tp multiple bpf attachment include/linux/bpf.h | 30 +++++++++++++--- include/linux/trace_events.h | 43 ++++++++++++++++++++--- include/trace/perf.h | 6 ++-- kernel/bpf/core.c | 81 ++++++++++++++++++++++++++++++++++++++++++ kernel/events/core.c | 30 ++++++---------- kernel/trace/bpf_trace.c | 82 ++++++++++++++++++++++++++++++++++++++++--- kernel/trace/trace_kprobe.c | 6 ++-- kernel/trace/trace_syscalls.c | 34 ++++++++++-------- kernel/trace/trace_uprobe.c | 3 +- samples/bpf/syscall_tp_user.c | 66 +++++++++++++++++++++++++++------- 10 files changed, 310 insertions(+), 71 deletions(-) -- 2.9.5