Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752224AbbFNMS2 (ORCPT ); Sun, 14 Jun 2015 08:18:28 -0400 Received: from mail9.hitachi.co.jp ([133.145.228.44]:60417 "EHLO mail9.hitachi.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752024AbbFNMSU (ORCPT ); Sun, 14 Jun 2015 08:18:20 -0400 Message-ID: <557D7105.2000409@hitachi.com> Date: Sun, 14 Jun 2015 21:18:13 +0900 From: Masami Hiramatsu Organization: Hitachi, Ltd., Japan User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Arnaldo Carvalho de Melo , Alexei Starovoitov CC: David Ahern , Jiri Olsa , Namhyung Kim , Ingo Molnar , Linux Kernel Mailing List Subject: Re: perf probe and structs References: <20150612192716.GE6850@kernel.org> In-Reply-To: <20150612192716.GE6850@kernel.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2090 Lines: 62 On 2015/06/13 4:27, Arnaldo Carvalho de Melo wrote: > Hi Masami, > > I tried somethig with perf probe today, namely to ask for a > variable that is a struct perf_event_attr to be collected after > the perf_event_open syscall copies it from userspace, and got this > message: > > [root@zoo ~]# perf probe SYSC_perf_event_open:23 args > Failed to find 'args' in this function. > Error: Failed to add events. > [root@zoo ~]# BTW, would you sure that the args exists at the given place? I couldn't find it in kernel/events/core.c. And also, could you make sure to run below command to clarify the existed variables and its valid ranges? # perf probe -V --range SYSC_perf_event_open For example, I got below outouts. # perf probe -V SYSC_perf_event_open:23 Available variables at SYSC_perf_event_open:23 @ int cpu int group_fd long unsigned int flags pid_t pid struct perf_event_attr attr # perf probe SYSC_perf_event_open:23 attr perf_event_attr exceeds max-bitwidth. Cut down to 64 bits. Added new event: probe:SYSC_perf_event_open (on SYSC_perf_event_open:23 with attr) You can now use it in all perf tools, such as: perf record -e probe:SYSC_perf_event_open -aR sleep 1 Of course, this is still not enough, I must fix this as you suggested. > > Ok, I guess it should be instead: > > [root@zoo ~]# perf probe SYSC_perf_event_open:23 args > The 'args' variable is a struct, this is not supported yet. > Error: Failed to add events. > [root@zoo ~]# > > :-) > -- Masami HIRAMATSU Linux Technology Research Center, System Productivity Research Dept. Center for Technology Innovation - Systems Engineering Hitachi, Ltd., Research & Development Group E-mail: masami.hiramatsu.pt@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/