Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752513AbbETAk0 (ORCPT ); Tue, 19 May 2015 20:40:26 -0400 Received: from LGEMRELSE6Q.lge.com ([156.147.1.121]:59867 "EHLO lgemrelse6q.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751364AbbETAkZ (ORCPT ); Tue, 19 May 2015 20:40:25 -0400 X-Original-SENDERIP: 10.177.220.203 X-Original-MAILFROM: namhyung@kernel.org Date: Wed, 20 May 2015 09:30:52 +0900 From: Namhyung Kim To: Arnaldo Carvalho de Melo Cc: Alexei Starovoitov , Wang Nan , paulus@samba.org, a.p.zijlstra@chello.nl, mingo@redhat.com, jolsa@kernel.org, dsahern@gmail.com, daniel@iogearbox.net, brendan.d.gregg@gmail.com, masami.hiramatsu.pt@hitachi.com, lizefan@huawei.com, linux-kernel@vger.kernel.org, pi3orama@163.com Subject: Re: [RFC PATCH v3 00/37] perf tools: introduce 'perf bpf' command to load eBPF programs. Message-ID: <20150520003052.GE22713@sejong> References: <555A3FC2.8060805@plumgrid.com> <20150518204416.GJ18563@kernel.org> <555A541F.6090606@plumgrid.com> <20150518212013.GB13946@kernel.org> <555A5D96.2070509@plumgrid.com> <20150519134458.GC13946@kernel.org> <20150519160448.GD29162@danjae.kornet> <20150519164040.GB19921@kernel.org> <555BA112.6090505@plumgrid.com> <20150519211033.GF19921@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20150519211033.GF19921@kernel.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2758 Lines: 72 On Tue, May 19, 2015 at 06:10:33PM -0300, Arnaldo Carvalho de Melo wrote: > Em Tue, May 19, 2015 at 01:46:10PM -0700, Alexei Starovoitov escreveu: > > On 5/19/15 9:40 AM, Arnaldo Carvalho de Melo wrote: > > >Em Wed, May 20, 2015 at 01:04:48AM +0900, Namhyung Kim escreveu: > > >>If we go with 'perf record' rather than 'perf bpf record', I agree > > >>that --event option is more natural than --filter. The --event option > > >>says that it will record - or enable, at least - a (kprobe) event for > > >>bpf programs in it and then do something with it. :) > > >> > > >>Maybe something like this? > > >> > > >> perf record --event bpf:/path/to/object > > > > > >The syntax maybe one of many, say if it sees a ".o" suffix in the even > > >name, look if the provided event name is a file and if this file has the > > >ELF header, whatever. > > > > agree. 'bpf:' prefix is redundant. > > I would say unnecessarily exposing an implementation detail :-) > > > To me the following syntax is fine: > > perf record --event bpf_file.o > > Agreed, for something pre-compiled. > > > In the future it can support automatically: > > perf record --event bpf_file.c > > Right, to compile it, then use the resulting bpf_file.o just like in the > first case, then, on another patch, cache it and next time just check > that the contents of the file hasn't changed, so the .o file can be > used, i.e. ccache like stuff. > > > Wang, thoughts? > > > > >>Oh, this looks like an interesting approach.. are you saying something > > >>like below? > > > > > >No, those are way too many steps :-) > > > > > >What 'perf script' does? Right now you can ask for a script to run and > > >it will both start 'perf record' with the proper events, and then > > >"immediately" consume it, piping the output of the 'record' "script" to > > >the consumer, that is 'perf script' itself running an interpreter, perl > > >or python. > > > > if you're proposing to do something like: > > perf script bpf_file.c > > that will do event creation, filtering, aggregation, reporting > > and printing results, then it's fine. > > This is pretty much what I thought 'perf bpf run' will do. > > Agreed, that is what I think should be done, parts of what is in > bpf.file.c are related to the data collection, some are for filtering, > and parts are for reporting, etc. Looks great! :) > > This all should use infrastructure in perf for symbol resolving, > callcahins, etc. But then we need to stabilize libperf APIs IMHO. :) Thanks, Namhyung -- 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/