[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1472780246-323814-1-git-send-email-ast@fb.com>
Date: Thu, 1 Sep 2016 18:37:20 -0700
From: Alexei Starovoitov <ast@...com>
To: "David S . Miller" <davem@...emloft.net>
CC: Peter Zijlstra <peterz@...radead.org>,
Brendan Gregg <bgregg@...flix.com>,
Daniel Borkmann <daniel@...earbox.net>,
Arnaldo Carvalho de Melo <acme@...radead.org>,
Wang Nan <wangnan0@...wei.com>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <kernel-team@...com>
Subject: [PATCH v3 net-next 0/6] perf, bpf: add support for bpf in sw/hw perf_events
Hi Peter, Dave,
this patch set is a follow up to the discussion:
https://lkml.kernel.org/r/20160804142853.GO6862%20()%20twins%20!%20programming%20!%20kicks-ass%20!%20net
It turned out to be simpler than what we discussed.
Patches 1-3 is bpf-side prep for the main patch 4
that adds bpf program as an overflow_handler to sw and hw perf_events.
Patches 5 and 6 are examples from myself and Brendan.
Peter,
to implement your suggestion to add ifdef CONFIG_BPF_SYSCALL
inside struct perf_event, I had to shuffle ifdefs in events/core.c
Please double check whether that is what you wanted to see.
v2->v3: fixed few more minor issues
v1->v2: fixed issues spotted by Peter and Daniel.
Thanks!
Alexei Starovoitov (5):
bpf: support 8-byte metafield access
bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type
bpf: perf_event progs should only use preallocated maps
perf, bpf: add perf events core support for BPF_PROG_TYPE_PERF_EVENT
programs
samples/bpf: add perf_event+bpf example
Brendan Gregg (1):
samples/bpf: add sampleip example
include/linux/bpf.h | 4 +
include/linux/perf_event.h | 9 ++
include/uapi/linux/Kbuild | 1 +
include/uapi/linux/bpf.h | 1 +
include/uapi/linux/bpf_perf_event.h | 18 +++
kernel/bpf/verifier.c | 31 +++++-
kernel/events/core.c | 89 ++++++++++++++-
kernel/trace/bpf_trace.c | 61 +++++++++++
samples/bpf/Makefile | 8 ++
samples/bpf/bpf_helpers.h | 2 +
samples/bpf/bpf_load.c | 7 +-
samples/bpf/sampleip_kern.c | 38 +++++++
samples/bpf/sampleip_user.c | 196 +++++++++++++++++++++++++++++++++
samples/bpf/trace_event_kern.c | 65 +++++++++++
samples/bpf/trace_event_user.c | 213 ++++++++++++++++++++++++++++++++++++
15 files changed, 737 insertions(+), 6 deletions(-)
create mode 100644 include/uapi/linux/bpf_perf_event.h
create mode 100644 samples/bpf/sampleip_kern.c
create mode 100644 samples/bpf/sampleip_user.c
create mode 100644 samples/bpf/trace_event_kern.c
create mode 100644 samples/bpf/trace_event_user.c
--
2.8.0
Powered by blists - more mailing lists