Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1474848

[PATCH v3 net-next 0/6] perf, bpf: add support for bpf in sw/hw perf_events

From Alexei Starovoitov <ast@fb.com>
Newsgroups linux.kernel
Subject [PATCH v3 net-next 0/6] perf, bpf: add support for bpf in sw/hw perf_events
Date 2016-09-02 03:40 +0200
Message-ID <scLCx-1an-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v3 net-next 0/6] perf, bpf: add support for bpf in sw/hw perf_events Alexei Starovoitov <ast@fb.com> - 2016-09-02 03:40 +0200
  [PATCH v3 net-next 2/6] bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type Alexei Starovoitov <ast@fb.com> - 2016-09-02 03:40 +0200
  [PATCH v3 net-next 6/6] samples/bpf: add sampleip example Alexei Starovoitov <ast@fb.com> - 2016-09-02 03:40 +0200
  [PATCH v3 net-next 5/6] samples/bpf: add perf_event+bpf example Alexei Starovoitov <ast@fb.com> - 2016-09-02 03:40 +0200
  [PATCH v3 net-next 3/6] bpf: perf_event progs should only use preallocated maps Alexei Starovoitov <ast@fb.com> - 2016-09-02 03:40 +0200
  Re: [PATCH v3 net-next 0/6] perf, bpf: add support for bpf in sw/hw  perf_events Peter Zijlstra <peterz@infradead.org> - 2016-09-02 11:40 +0200
  Re: [PATCH v3 net-next 0/6] perf, bpf: add support for bpf in  sw/hw perf_events David Miller <davem@davemloft.net> - 2016-09-02 20:00 +0200

csiph-web