From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761072AbcHaVuw (ORCPT ); Wed, 31 Aug 2016 17:50:52 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:38433 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760835AbcHaVup (ORCPT ); Wed, 31 Aug 2016 17:50:45 -0400 From: Alexei Starovoitov To: "David S . Miller" CC: Peter Zijlstra , Brendan Gregg , Daniel Borkmann , Arnaldo Carvalho de Melo , Wang Nan , , , Subject: [PATCH v2 net-next 0/6] perf, bpf: add support for bpf in sw/hw perf_events Date: Wed, 31 Aug 2016 14:50:37 -0700 Message-ID: <1472680243-1326608-1-git-send-email-ast@fb.com> X-Mailer: git-send-email 2.8.0 X-FB-Internal: Safe MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-08-31_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Peter, please review. Patches 5 and 6 are examples from myself and Brendan. 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 | 7 ++ 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 | 85 +++++++++++++- kernel/trace/bpf_trace.c | 60 ++++++++++ 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, 730 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