From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753368AbbJUDCr (ORCPT ); Tue, 20 Oct 2015 23:02:47 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:36465 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753297AbbJUDCp (ORCPT ); Tue, 20 Oct 2015 23:02:45 -0400 From: Alexei Starovoitov X-Google-Original-From: Alexei Starovoitov To: "David S. Miller" Cc: Ingo Molnar , Peter Zijlstra , Wang Nan , He Kuang , Arnaldo Carvalho de Melo , Daniel Borkmann , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 0/3] bpf_perf_event_output helper Date: Tue, 20 Oct 2015 20:02:32 -0700 Message-Id: <1445396556-4854-1-git-send-email-ast@kernel.org> X-Mailer: git-send-email 1.7.9.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Over the last year there were multiple attempts to let eBPF programs output data into perf events by He Kuang and Wangnan. The last one was: https://lkml.org/lkml/2015/7/20/736 It was almost perfect with exception that all bpf programs would sent data into one global perf_event. This patch set takes different approach by letting user space open independent PERF_COUNT_SW_BPF_OUTPUT events, so that program output won't collide. Wangnan is working on corresponding perf patches. Alexei Starovoitov (3): perf: pad raw data samples automatically bpf: introduce bpf_perf_event_output() helper samples: bpf: add bpf_perf_event_output example include/uapi/linux/bpf.h | 11 +++ include/uapi/linux/perf_event.h | 1 + kernel/bpf/arraymap.c | 2 + kernel/bpf/verifier.c | 3 +- kernel/events/core.c | 15 ++- kernel/trace/bpf_trace.c | 46 +++++++++ samples/bpf/Makefile | 7 ++ samples/bpf/bpf_helpers.h | 2 + samples/bpf/trace_output_kern.c | 31 +++++++ samples/bpf/trace_output_user.c | 196 +++++++++++++++++++++++++++++++++++++++ 10 files changed, 308 insertions(+), 6 deletions(-) create mode 100644 samples/bpf/trace_output_kern.c create mode 100644 samples/bpf/trace_output_user.c -- 1.7.9.5