[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5576EADF.1030902@huawei.com>
Date: Tue, 9 Jun 2015 21:32:15 +0800
From: "Wangnan (F)" <wangnan0@...wei.com>
To: <acme@...nel.org>, <ast@...mgrid.com>, <brendan.d.gregg@...il.com>,
<daniel@...earbox.net>, <namhyung@...nel.org>,
<masami.hiramatsu.pt@...achi.com>, <paulus@...ba.org>,
<a.p.zijlstra@...llo.nl>, <mingo@...hat.com>, <jolsa@...nel.org>,
<dsahern@...il.com>
CC: <linux-kernel@...r.kernel.org>, <lizefan@...wei.com>,
<hekuang@...wei.com>, <xiakaixu@...wei.com>, <pi3orama@....com>
Subject: Re: [RFC PATCH v6 32/32] perf record: Add LLVM options for compiling
BPF scripts
On 2015/6/9 13:50, Wang Nan wrote:
> Although previous patch allows setting BPF compiler related options in
> perfconfig, on some ad-hoc situation it still requires passing options
> through cmdline. This patch introduces 4 options to 'perf record' for
> this propose: --clang-path, --clang-opt, --llc-path and --llc-opt.
>
> Signed-off-by: Wang Nan <wangnan0@...wei.com>
> ---
> tools/perf/builtin-record.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 235c3d9..ad5892e 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -1070,6 +1070,14 @@ struct option __record_options[] = {
> parse_clockid),
> OPT_STRING_OPTARG('S', "snapshot", &record.opts.auxtrace_snapshot_opts,
> "opts", "AUX area tracing Snapshot Mode", ""),
> + OPT_STRING(0, "clang-path", &bpf_param.clang_path, "clang patch",
> + "clang binary to use for compiling BPF scriptlets"),
> + OPT_STRING(0, "clang-opt", &bpf_param.clang_opt, "clang options",
> + "options passed to clang when compiling BPF scriptlets"),
> + OPT_STRING(0, "llc-path", &bpf_param.llc_path, "llc path",
> + "llc binary to use for compiling BPF scriptlets"),
> + OPT_STRING(0, "llc-opt", &bpf_param.llc_opt, "llc opt",
> + "options passed to llc when compiling BPF scriptlets"),
> OPT_END()
> };
>
These 4 options should be wrapped inside "#ifdef HAVE_LIBBPF_SUPPORT"
because
it requires bpf_param which won't be compiled if HAVE_LIBBPF_SUPPORT is set.
Another choice should be introducing something like
tools/perf/utils/llvm.c and
putting all llvm related things into it. If other part of perf also use
llvm,
making a new file to hold those options should be a better way.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists