Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756109AbcCaSIN (ORCPT ); Thu, 31 Mar 2016 14:08:13 -0400 Received: from mail.kernel.org ([198.145.29.136]:46799 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751703AbcCaSIM (ORCPT ); Thu, 31 Mar 2016 14:08:12 -0400 Date: Thu, 31 Mar 2016 15:08:03 -0300 From: Arnaldo Carvalho de Melo To: Wang Nan Cc: David Ahern , Jiri Olsa , Namhyung Kim , Linux Kernel Mailing List Subject: perf trace + BPF Message-ID: <20160331180803.GB10112@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6507 Lines: 151 Hi Wang, Trying to get back at working with 'perf trace' + BPF and I'm noticing that the perf_event_attr->sample_type for the BPF events are different than the ones for the raw_syscalls:sys_{enter,exit} or to other tracepoint events we may ask 'perf trace' to set up, for instance, for: perf trace -vv -T --ev sched:sched_switch --ev bpf-output/no-inherit,name=evt/ --ev /home/acme/bpf/test_bpf_trace.c/map:channel.event=evt/ usleep 10 We get these sample types (full perf_event_attr dump at the end of this message): sched:sched_switch: sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER [root@jouet ~]# perf probe -l perf_bpf_probe:func_begin (on SyS_nanosleep@linux/kernel/time/hrtimer.c) perf_bpf_probe:func_end (on SyS_nanosleep%return@linux/kernel/time/hrtimer.c) sample_type IP|TID|RAW|IDENTIFIER raw_syscalls:sys_{enter,exit}: sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER I guess this is an interaction with that "no-inherit" part, probably we need to set PERF_SAMPLE_TIME by some other means... - Arnaldo ------------------------------------------------------------ perf_event_attr: type 2 size 112 config 0x110 { sample_period, sample_freq } 1 sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER read_format ID disabled 1 inherit 1 mmap 1 comm 1 enable_on_exec 1 task 1 sample_id_all 1 exclude_guest 1 mmap2 1 comm_exec 1 { wakeup_events, wakeup_watermark } 1 ------------------------------------------------------------ sys_perf_event_open: pid 32425 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: type 1 size 112 config 0xa { sample_period, sample_freq } 1 sample_type IP|TID|RAW|IDENTIFIER read_format ID disabled 1 enable_on_exec 1 sample_id_all 1 exclude_guest 1 { wakeup_events, wakeup_watermark } 1 ------------------------------------------------------------ sys_perf_event_open: pid 32425 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: type 2 size 112 config 0x7c5 { sample_period, sample_freq } 1 sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER read_format ID disabled 1 inherit 1 enable_on_exec 1 sample_id_all 1 exclude_guest 1 { wakeup_events, wakeup_watermark } 1 ------------------------------------------------------------ sys_perf_event_open: pid 32425 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: type 2 size 112 config 0x7c4 { sample_period, sample_freq } 1 sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER read_format ID disabled 1 inherit 1 enable_on_exec 1 sample_id_all 1 exclude_guest 1 { wakeup_events, wakeup_watermark } 1 ------------------------------------------------------------ sys_perf_event_open: pid 32425 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: type 2 size 112 config 0x11 { sample_period, sample_freq } 1 sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER read_format ID disabled 1 inherit 1 enable_on_exec 1 sample_id_all 1 exclude_guest 1 { wakeup_events, wakeup_watermark } 1 ------------------------------------------------------------ sys_perf_event_open: pid 32425 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: type 2 size 112 config 0x10 { sample_period, sample_freq } 1 sample_type IP|TID|TIME|CPU|PERIOD|RAW|IDENTIFIER read_format ID disabled 1 inherit 1 enable_on_exec 1 sample_id_all 1 exclude_guest 1 { wakeup_events, wakeup_watermark } 1 ------------------------------------------------------------ sys_perf_event_open: pid 32425 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid 32425 cpu 3 group_fd -1 flags 0x8 mmap size 528384B