On 2015/10/14 21:40, Arnaldo Carvalho de Melo wrote:
> 
> Le 14 oct. 2015 10:33 AM, "Yunlong Song" <yunlong.s...@huawei.com 
> <mailto:yunlong.s...@huawei.com>> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to