From: "Wangnan (F)" <wangnan0@huawei.com>
To: "平松雅巳 / HIRAMATU,MASAMI" <masami.hiramatsu.pt@hitachi.com>,
"acme@kernel.org" <acme@kernel.org>
Cc: "lizefan@huawei.com" <lizefan@huawei.com>,
"pi3orama@163.com" <pi3orama@163.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Alexei Starovoitov <ast@kernel.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Namhyung Kim <namhyung@kernel.org>
Subject: Re: [PATCH 1/2] perf tools: Always give options even it not compiled
Date: Thu, 26 Nov 2015 17:06:47 +0800 [thread overview]
Message-ID: <5656CBA7.4060601@huawei.com> (raw)
In-Reply-To: <5656BD42.5000703@huawei.com>
On 2015/11/26 16:05, Wangnan (F) wrote:
>
>
> On 2015/11/20 18:54, 平松雅巳 / HIRAMATU,MASAMI wrote:
>>> From: Wang Nan [mailto:wangnan0@huawei.com]
>>>
>>> This patch keeps options of perf builtins same in all condition. If the
>>> option is disabled because of compiling options, users should be
>>> notified.
>>>
>>> This patch does it by introducing a series of new option macros, flags
>>> and field in struct options. For those options disabled by compiling,
>>> OPT_NOTBUILT_NOARG, OPT_NOTBUILT_OPTARG and OPT_NOTBUILT can be used
>>> to record the help messages and the reason why not built them.
>>>
>>> Options in 'perf record' and 'perf probe' are fixed by those new
>>> macros.
>> Hmm, OK, I agree the reason why this is useful. Could you reconsider
>> the implementation, because just cloning the code is ugly and not
>> maintainable?
>>
>> It will be better if we can replace OPT_BOOLEAN with;
>>
>> OPT_DEPENDS(HAVE_DWARF_SUPPORT, BOOLEAN, '\0', "no-inlines",
>> &probe_conf.no_inlines, ...
>>
>> This may be done by following macros ;
>>
>> ----
>> #define OPTMSG_HAVE_DWARF_SUPPORT "NO_DWARF"
>> #ifdef HAVE_DWARF_SUPPORT
>> #define OPTVAL_HAVE_DWARF_SUPPORT 1
>> #else
>> #define OPTVAL_HAVE_DWARF_SUPPORT 0
>> #endif
>>
>> #define __OPT_DEPENDS(val, msg, opt, ...) \
>> {.type = OPTION_NEXT_DEPENDS, .value = (void *)val, .data = msg,
>> }, opt(__VA_ARGS__)
>>
>> #define _OPT_DEPENDS(val, msg, opt, ...) \
>> __OPT_DEPENDS(val, msg, opt, __VA_ARGS__)
>>
>> #define OPT_DEPENDS(flag, opt, ...) \
>> _OPT_DEPENDS(OPTVAL_ ## flag, OPTMSG_ ## flag, OPT_ ## opt,
>> __VA_ARGS__)
>> ----
>>
>> And if the parser find OPTION_NEXT_DEPENDS and .value != NULL, it
>> skips next entry.
>>
>
> That would be good, but don't forget we have a options__order() which
> reorder the options array. To archive our goal I think we must preprocess
> the options array to 'merge' information in the OPTION_NEXT_DEPENDS into
> the real option it decorates.
>
Doing such merging in parse_options_subcommand() is natually but require
removing all
'const' decorators from struct options. Too much code changing for such
a small
feature...
Will think another solution...
> Thank you.
>
>> Thank you,
>>
>
next prev parent reply other threads:[~2015-11-26 9:07 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-16 12:10 [PATCH 00/13] perf tools: bpf: Improve BPF program ability Wang Nan
2015-11-16 12:10 ` [PATCH 01/13] perf probe: Fix memory leaking on faiulre by clearing all probe_trace_events Wang Nan
2015-11-16 12:10 ` [PATCH 02/13] perf probe: Clear probe_trace_event when add_probe_trace_event() fails Wang Nan
2015-11-16 12:10 ` [PATCH 03/13] perf tools: Allow BPF program attach to uprobe events Wang Nan
2015-11-16 14:14 ` Arnaldo Carvalho de Melo
2015-11-23 16:06 ` [tip:perf/core] perf bpf: " tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 04/13] perf tools: Allow BPF program attach to modules Wang Nan
2015-11-23 16:06 ` [tip:perf/core] perf bpf: Allow attaching BPF programs to modules symbols tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 05/13] perf tools: Introduce strtobool() to string.c Wang Nan
2015-11-16 14:17 ` Arnaldo Carvalho de Melo
2015-11-16 14:49 ` Arnaldo Carvalho de Melo
2015-11-16 15:55 ` Arnaldo Carvalho de Melo
2015-11-23 16:04 ` [tip:perf/core] tools: Clone the kernel's strtobool function tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 06/13] perf tools: Allow BPF program config probing options Wang Nan
2015-11-23 16:06 ` [tip:perf/core] perf bpf: " tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 07/13] bpf tools: Load a program with different instances using preprocessor Wang Nan
2015-11-16 19:02 ` Arnaldo Carvalho de Melo
2015-11-17 3:53 ` Wangnan (F)
2015-11-23 16:05 ` [tip:perf/core] " tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 08/13] perf tools: Add BPF_PROLOGUE config options for further patches Wang Nan
2015-11-23 16:05 ` [tip:perf/core] perf bpf: " tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 09/13] perf tools: Compile dwarf-regs.c if CONFIG_BPF_PROLOGUE is on Wang Nan
2015-11-23 16:05 ` [tip:perf/core] perf bpf: " tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 10/13] perf tools: Add prologue for BPF programs for fetching arguments Wang Nan
2015-11-23 16:07 ` [tip:perf/core] perf bpf: " tip-bot for He Kuang
2015-11-16 12:10 ` [PATCH 11/13] perf tools: Generate prologue for BPF programs Wang Nan
2015-11-23 16:07 ` [tip:perf/core] perf bpf: " tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 12/13] perf test: Test BPF prologue Wang Nan
2015-11-17 1:29 ` Arnaldo Carvalho de Melo
2015-11-17 1:31 ` Wangnan (F)
2015-11-17 4:38 ` Wangnan (F)
2015-11-17 12:20 ` Arnaldo Carvalho de Melo
2015-11-17 8:32 ` [PATCH 0/5] perf tools: Improve BPF support Wang Nan
2015-11-17 8:32 ` [PATCH 1/5] perf test: Fix 2 bugs in 'perf test BPF' Wang Nan
2015-11-17 12:56 ` Arnaldo Carvalho de Melo
2015-11-17 13:01 ` pi3orama
2015-11-17 13:34 ` Arnaldo Carvalho de Melo
2015-11-23 16:08 ` [tip:perf/core] perf test: Fix 'perf test BPF' when it fails to find a suitable vmlinux tip-bot for Wang Nan
2015-11-17 8:32 ` [PATCH 2/5] perf tools: Use same BPF program if arguments are identical Wang Nan
2015-11-23 16:08 ` [tip:perf/core] perf bpf: " tip-bot for Wang Nan
2015-11-17 8:32 ` [PATCH 3/5] perf test: Print result for each subtest for llvm Wang Nan
2015-11-17 13:03 ` Arnaldo Carvalho de Melo
2015-11-23 16:09 ` [tip:perf/core] perf test: Print result for each LLVM subtest tip-bot for Wang Nan
2015-11-17 8:32 ` [PATCH 4/5] perf test: Print result for each subtest for BPF Wang Nan
2015-11-23 16:09 ` [tip:perf/core] perf test: Print result for each BPF subtest tip-bot for Wang Nan
2015-11-17 8:32 ` [PATCH 5/5] perf test: Mute test cases if verbose == 0 Wang Nan
2015-11-17 13:11 ` Arnaldo Carvalho de Melo
2015-11-23 16:10 ` [tip:perf/core] perf test: Mute test cases error messages " tip-bot for Wang Nan
2015-11-17 8:38 ` [PATCH 12/13] perf test: Test BPF prologue Wangnan (F)
2015-11-17 9:44 ` [PATCH] perf record: Support custom vmlinux path Wang Nan
2015-11-17 12:33 ` Arnaldo Carvalho de Melo
2015-11-17 12:42 ` Arnaldo Carvalho de Melo
2015-11-17 12:45 ` pi3orama
2015-11-19 14:03 ` [PATCH 0/2] perf tools: Builtin options related improvements Wang Nan
2015-11-19 14:03 ` [PATCH 1/2] perf tools: Always give options even it not compiled Wang Nan
2015-11-20 10:54 ` 平松雅巳 / HIRAMATU,MASAMI
2015-11-26 8:05 ` Wangnan (F)
2015-11-26 9:06 ` Wangnan (F) [this message]
2015-11-19 14:03 ` [PATCH 2/2] perf record: Support custom vmlinux path Wang Nan
2015-11-23 16:08 ` [tip:perf/core] perf test: Test the BPF prologue adding infrastructure tip-bot for Wang Nan
2015-11-16 12:10 ` [PATCH 13/13] perf tools: Use same BPF program if arguments are identical Wang Nan
2015-11-17 3:05 ` Wangnan (F)
2015-11-17 13:16 ` Arnaldo Carvalho de Melo
2015-11-16 14:09 ` [PATCH 00/13] perf tools: bpf: Improve BPF program ability Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5656CBA7.4060601@huawei.com \
--to=wangnan0@huawei.com \
--cc=acme@kernel.org \
--cc=acme@redhat.com \
--cc=ast@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=namhyung@kernel.org \
--cc=pi3orama@163.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome