From: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
dsahern@gmail.com, artagnon@gmail.com
Subject: Re: [PATCH 4/8] perf tools: Improve the message of perf list for unexpected input.
Date: Thu, 09 Jan 2014 09:38:37 -0500 [thread overview]
Message-ID: <52CEB46D.2000008@cn.fujitsu.com> (raw)
In-Reply-To: <20140108151637.GC2626@infradead.org>
On 01/08/2014 10:16 AM, Arnaldo Carvalho de Melo wrote:
> Em Mon, Dec 30, 2013 at 10:26:39AM -0500, Dongsheng Yang escreveu:
>> Example:
>> # perf list test
>>
>> List of pre-defined events (to be used in -e):
>> # echo $?
>> 0
>>
>> Verification:
>> # perf list test
>>
>> No event for test.
> ?
>
> Are we "testing" events?
>
> The message is not clear, I can get some info from looking at the Usage,
> but not from 'No event for test'.
>
> At a minimum 'test' (whatevet invalid type/class is specified and found
> to be invalid/unknown) should be quoted.
>
> Perhaps the message should be along the lines of:
>
> # perf list test
>
> 'test' is not a valid event type, please see the usage below for
> acceptable ones.
Makes sense. I will update it.
>
>> Usage:
>> perf list [hw|sw|cache|tracepoint|pmu|event_glob]
>> # echo $?
>> 255
>>
>> Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
>> ---
>> tools/perf/builtin-list.c | 25 +++++++++++++++++--------
>> 1 file changed, 17 insertions(+), 8 deletions(-)
>>
>> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
>> index 011195e..fed6792 100644
>> --- a/tools/perf/builtin-list.c
>> +++ b/tools/perf/builtin-list.c
>> @@ -19,6 +19,7 @@
>> int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
>> {
>> int i;
>> + unsigned int count = 0;
>> const struct option list_options[] = {
>> OPT_END()
>> };
>> @@ -41,26 +42,27 @@ int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
>> if (i)
>> putchar('\n');
>> if (strncmp(argv[i], "tracepoint", 10) == 0)
>> - print_tracepoint_events(NULL, NULL, false);
>> + count += print_tracepoint_events(NULL, NULL, false);
>> else if (strcmp(argv[i], "hw") == 0 ||
>> strcmp(argv[i], "hardware") == 0)
>> - print_events_type(PERF_TYPE_HARDWARE);
>> + count += print_events_type(PERF_TYPE_HARDWARE);
>> else if (strcmp(argv[i], "sw") == 0 ||
>> strcmp(argv[i], "software") == 0)
>> - print_events_type(PERF_TYPE_SOFTWARE);
>> + count += print_events_type(PERF_TYPE_SOFTWARE);
>> else if (strcmp(argv[i], "cache") == 0 ||
>> strcmp(argv[i], "hwcache") == 0)
>> - print_hwcache_events(NULL, false);
>> + count += print_hwcache_events(NULL, false);
>> else if (strcmp(argv[i], "pmu") == 0)
>> - print_pmu_events(NULL, false);
>> + count += print_pmu_events(NULL, false);
>> else if (strcmp(argv[i], "--raw-dump") == 0)
>> - print_events(NULL, true);
>> + count += print_events(NULL, true);
>> else {
>> char *sep = strchr(argv[i], ':'), *s;
>> int sep_idx;
>>
>> if (sep == NULL) {
>> - print_events(argv[i], false);
>> + if(!(count += print_events(argv[i], false)))
>> + goto err_out;
>> continue;
>> }
>> sep_idx = sep - argv[i];
>> @@ -69,9 +71,16 @@ int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
>> return -1;
>>
>> s[sep_idx] = '\0';
>> - print_tracepoint_events(s, s + sep_idx + 1, false);
>> + if (!(count += print_tracepoint_events(s, s + sep_idx + 1, false)))
>> + goto err_out;
>> free(s);
>> }
>> }
>> +
>> return 0;
>> +
>> +err_out:
>> + pr_info("\nNo event for %s.\n", argv[i]);
>> + pr_info("Usage:\n\t%s\n", list_usage[0]);
>> + return -1;
>> }
>> --
>> 1.8.2.1
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2014-01-09 1:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-30 15:26 [PATCH 0/8 V2] Enhancement for perf list Dongsheng Yang
2013-12-30 15:26 ` [PATCH 1/8] perf tools: Make the all print_xxx_event functions to return unsigned int Dongsheng Yang
2013-12-30 15:26 ` [PATCH 2/8] perf tools: Make the print_pmu_events funtion " Dongsheng Yang
2014-01-08 15:10 ` Arnaldo Carvalho de Melo
2014-01-09 14:58 ` Dongsheng Yang
2014-01-09 22:23 ` Dongsheng Yang
2013-12-30 15:26 ` [PATCH 3/8] perf tools: free aliases[j] in pmu.c if name_only is true Dongsheng Yang
2014-01-08 15:12 ` Arnaldo Carvalho de Melo
2014-01-09 14:53 ` Dongsheng Yang
2013-12-30 15:26 ` [PATCH 4/8] perf tools: Improve the message of perf list for unexpected input Dongsheng Yang
2014-01-08 15:16 ` Arnaldo Carvalho de Melo
2014-01-09 14:38 ` Dongsheng Yang [this message]
2013-12-30 15:26 ` [PATCH 5/8] perf tools: Add support of name_only for print_events_type() function Dongsheng Yang
2014-01-08 15:19 ` Arnaldo Carvalho de Melo
2014-01-09 14:37 ` Dongsheng Yang
2013-12-30 15:26 ` [PATCH 6/8] perf tools: Make --raw-dump work as a proper option for perf list Dongsheng Yang
2013-12-30 8:09 ` Ramkumar Ramachandra
2014-01-08 15:20 ` Arnaldo Carvalho de Melo
2014-01-08 21:44 ` David Ahern
2014-01-09 14:36 ` Dongsheng Yang
2014-01-10 15:30 ` David Ahern
2014-01-13 21:03 ` Dongsheng Yang
2013-12-30 15:26 ` [PATCH 7/8] perf tools: Fix bug when --raw-dump is not the first arguement " Dongsheng Yang
2013-12-30 15:26 ` [PATCH 8/8] perf tools: Enhancement for perf list with --raw-dump Dongsheng Yang
-- strict thread matches above, loose matches on Subject: below --
2013-12-27 23:03 [PATCH 0/8] Enhancement for perf list Dongsheng Yang
2013-12-27 23:03 ` [PATCH 4/8] perf tools: Improve the message of perf list for unexpected input Dongsheng Yang
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=52CEB46D.2000008@cn.fujitsu.com \
--to=yangds.fnst@cn.fujitsu.com \
--cc=acme@redhat.com \
--cc=artagnon@gmail.com \
--cc=dsahern@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.