Re: [PATCH 1/1] perf:Adding --list-opts to usage string

From: Yunlong Song
Date: Thu Oct 15 2015 - 03:17:13 EST


On 2015/10/14 21:40, Arnaldo Carvalho de Melo wrote:
>
> Le 14 oct. 2015 10:33 AM, "Yunlong Song" <yunlong.song@xxxxxxxxxx <mailto:yunlong.song@xxxxxxxxxx>> a Ãcrit :
>>
>> On 2015/10/14 11:10, Arnaldo Carvalho de Melo wrote:
>>
>> > One doesn't show what options can be used, the other does, so there is
>> > an inconsistency, this and the fact that 'perf -h' outputs to stdout,
>> > 'perf stat -h' and the other builtins output to stderr. I think all
>> > should output to stdout, just like 'ls --help', what do you think?
>> >
>> > - Arnaldo
>> >
>>
>> I think the reason that options do not show in 'perf -h' but show in
>> other builtins is not the different use of stdout or stderr. I will
>> send a patch to fix this instead.
>
> Sure, I mentioned two problems. The invonsistency in stdout/stderr usage has nothing to do with options being not showed in 'perf -h'. :-)
>>


Sorry, I understand now. I think it makes sense that the builtins use stderr everywhere
to show its usage info when the opts or cmds are incorrectly used. Usually, there is an
error description followed with the usage info, for example:
# ./perf stat -f
Error: unknown switch `f'

Usage: perf stat [<options>] [<command>]

-T, --transaction hardware transaction statistics
-e, --event <event> event selector. use 'perf list' to list available events
--filter <filter>
event filter
-i, --no-inherit child tasks do not inherit counters
<SNIP>
-I, --interval-print <n>
print counts at regular interval in ms (>= 10)
--per-socket aggregate counts per processor socket
--per-core aggregate counts per physical processor core
--per-thread aggregate counts per thread
-D, --delay <n> ms to wait before starting measurement after program start

As shown above, I think the error description and the usage info should output to the same
stderr area as it is now to be clear.

Thus I think it is better to make perf output its usage info to stderr instead of stdout for
consistency. I will resend patches to fix this.

--
Thanks,
Yunlong Song

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/