From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932828AbcFTRZz (ORCPT ); Mon, 20 Jun 2016 13:25:55 -0400 Received: from mail-pa0-f44.google.com ([209.85.220.44]:33627 "EHLO mail-pa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756258AbcFTRZu (ORCPT ); Mon, 20 Jun 2016 13:25:50 -0400 Date: Mon, 20 Jun 2016 09:22:11 -0700 From: Alexei Starovoitov To: Arnaldo Carvalho de Melo Cc: "Wangnan (F)" , Arnaldo Carvalho de Melo , linux-kernel@vger.kernel.org, pi3orama@163.com, David Ahern , Namhyung Kim , Alexei Starovoitov , Jiri Olsa Subject: Re: [PATCH 2/2] perf record: Add --dry-run option to check cmdline options Message-ID: <20160620162208.GA67352@ast-mbp.thefacebook.com> References: <1466064161-48553-1-git-send-email-wangnan0@huawei.com> <1466064161-48553-3-git-send-email-wangnan0@huawei.com> <20160616164815.GE13337@kernel.org> <57676309.8000907@huawei.com> <20160620143818.GA3050@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160620143818.GA3050@redhat.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 On Mon, Jun 20, 2016 at 11:38:18AM -0300, Arnaldo Carvalho de Melo wrote: > Em Mon, Jun 20, 2016 at 11:29:13AM +0800, Wangnan (F) escreveu: > > On 2016/6/17 0:48, Arnaldo Carvalho de Melo wrote: > > >Em Thu, Jun 16, 2016 at 08:02:41AM +0000, Wang Nan escreveu: > > >>With '--dry-run', 'perf record' doesn't do reall recording. Combine with > > >>llvm.dump-obj option, --dry-run can be used to help compile BPF objects for > > >>embedded platform. > > >So these are nice and have value, but can we have a subcommand to do all > > >this with an expressive name, Something like: > > > > perf bpfcc foo.c -o foo > > > >or shorter: > > > > perf bcc foo.c -o foo > > > >Just like one would use gcc or some other compiler to generate something > > >for later use? > > > I'll try it today. I thought a subcommand require a bigger feature, > > and wrapping clang is not big enough. > > Not really, we may have as many as we like, given that they provide > something useful, like I think is the case here. > > Having to edit ~/.perfconfig, create a new section, a variable in it > with a boolean value (at first, just reading the changeset comment, I > thought I had to provide a directory where to store the objects > "dumped"), to then use a tool to record a .c event, but not recording > (use dry-run, which is useful to test the command line, etc), to then > get, on the current directory, the end result looked to me a convoluted > way to ask perf to compile the given .c file into a .o for later use. > > Doing: > > perf bcc -c foo.c > > Looks so much simpler and similar to an existing compile source code > into object file workflow (gcc's, any C compiler) that I think it would > fit in the workflow being discussed really nicely. I'm hopeful that eventually we'll be able merge iovisor/bcc project with perf, so would be good to reserve 'perf bcc' command for that future use. Also picking a different name for compiling would be less confusing to users who already familiar with bcc. Instead we can use: perf bpfcc foo.c -o foo.o perf cc foo.c perf compile foo.c