public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: mingo@kernel.org, dsahern@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/8] perf tools: Fix bug in 'perf list event_glob'.
Date: Sat, 28 Dec 2013 19:58:53 -0500	[thread overview]
Message-ID: <52BF73CD.10701@cn.fujitsu.com> (raw)
In-Reply-To: <20131227192142.GA3277@infradead.org>

On 12/27/2013 02:21 PM, Arnaldo Carvalho de Melo wrote:
> Em Fri, Dec 27, 2013 at 06:03:27PM -0500, Dongsheng Yang escreveu:
>> As what the usage showing, we can input a event_glob as an argument to list
>> all symbols. But it does not work well right now.
>>
>> Example:
>> 	# perf list kvmmmu
>>
>> 	List of pre-defined events (to be used in -e):
>>
>> This patch make it work well as follows.
> It works:
>
> List of pre-defined events (to be used in -e):
> [root@zoo ~]# perf list kvmmmu*:*
>    kvmmmu:kvm_mmu_pagetable_walk                      [Tracepoint event]
>    kvmmmu:kvm_mmu_paging_element                      [Tracepoint event]
>    kvmmmu:kvm_mmu_set_accessed_bit                    [Tracepoint event]
>    kvmmmu:kvm_mmu_set_dirty_bit                       [Tracepoint event]
>    kvmmmu:kvm_mmu_walker_error                        [Tracepoint event]
>    kvmmmu:kvm_mmu_get_page                            [Tracepoint event]
>    kvmmmu:kvm_mmu_sync_page                           [Tracepoint event]
>    kvmmmu:kvm_mmu_unsync_page                         [Tracepoint event]
>    kvmmmu:kvm_mmu_prepare_zap_page                    [Tracepoint event]
>    kvmmmu:mark_mmio_spte                              [Tracepoint event]
>    kvmmmu:handle_mmio_page_fault                      [Tracepoint event]
>    kvmmmu:fast_page_fault                             [Tracepoint event]
>    kvmmmu:kvm_mmu_invalidate_zap_all_pages            [Tracepoint event]
>    kvmmmu:check_mmio_spte                             [Tracepoint event]
> [root@zoo ~]#
>
> The documentation says, as you repeated above, that a glob can be
> provided, not a _substring_ :-)

Yes, you are right. Sorry for that I misunderstood the word of 'glob'.

Thank you for your explanation. :)

Yang
>
> To achive a result similar to:
>
> [root@zoo ~]# perf list hw
>    cpu-cycles OR cycles                               [Hardware event]
>    instructions                                       [Hardware event]
>    cache-references                                   [Hardware event]
>    cache-misses                                       [Hardware event]
>    branch-instructions OR branches                    [Hardware event]
>    branch-misses                                      [Hardware event]
>    bus-cycles                                         [Hardware event]
>    stalled-cycles-frontend OR idle-cycles-frontend    [Hardware event]
>    ref-cycles                                         [Hardware event]
> [root@zoo ~]#
>
> We could say that if no ':' is found in the provided string, and it
> doesn't matches one of the other classes, i.e. hw, sw, cache, etc, and
> it is the name of a tracepoint subsystem, then it would be equivalent
> to 'tracepoint_subsys:*', i.e. 'perf list skb' woud be equivalent to:
>
> [root@zoo ~]# perf list skb:*
>    skb:kfree_skb                                      [Tracepoint event]
>    skb:consume_skb                                    [Tracepoint event]
>    skb:skb_copy_datagram_iovec                        [Tracepoint event]
> [root@zoo ~]#
>
> - Arnaldo
>   
>> Verification:
>> 	# perf list kvmmmu
>>
>> 	List of pre-defined events (to be used in -e):
>> 	  kvmmmu:kvm_mmu_pagetable_walk                      [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_paging_element                      [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_set_accessed_bit                    [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_set_dirty_bit                       [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_walker_error                        [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_get_page                            [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_sync_page                           [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_unsync_page                         [Tracepoint event]
>> 	  kvmmmu:kvm_mmu_prepare_zap_page                    [Tracepoint event]
>> 	  kvmmmu:mark_mmio_spte                              [Tracepoint event]
>> 	  kvmmmu:handle_mmio_page_fault                      [Tracepoint event]
>> 	  kvmmmu:fast_page_fault                             [Tracepoint event]
>>
>> Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
>> ---
>>   tools/perf/util/parse-events.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
>> index 094c28b..d887ea4 100644
>> --- a/tools/perf/util/parse-events.c
>> +++ b/tools/perf/util/parse-events.c
>> @@ -1236,6 +1236,8 @@ void print_events(const char *event_glob, bool name_only)
>>   
>>   	print_pmu_events(event_glob, name_only);
>>   
>> +	print_tracepoint_events(event_glob, NULL, name_only);
>> +
>>   	if (event_glob != NULL)
>>   		return;
>>   
>> @@ -1254,8 +1256,6 @@ void print_events(const char *event_glob, bool name_only)
>>   			event_type_descriptors[PERF_TYPE_BREAKPOINT]);
>>   		printf("\n");
>>   	}
>> -
>> -	print_tracepoint_events(NULL, NULL, name_only);
>>   }
>>   
>>   int parse_events__is_hardcoded_term(struct parse_events_term *term)
>> -- 
>> 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/
>


  reply	other threads:[~2013-12-28 12:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-27 23:03 [PATCH 0/8] Enhancement for perf list Dongsheng Yang
2013-12-27 23:03 ` [PATCH 1/8] perf tools: Fix bug in 'perf list event_glob' Dongsheng Yang
2013-12-27 19:21   ` Arnaldo Carvalho de Melo
2013-12-29  0:58     ` Dongsheng Yang [this message]
2013-12-27 23:03 ` [PATCH 2/8] perf tools: Make the all print_xxx_event functions to return unsigned int Dongsheng Yang
2013-12-27 23:03 ` [PATCH 3/8] perf tools: Make the print_pmu_events funtion " Dongsheng Yang
2013-12-27 23:03 ` [PATCH 4/8] perf tools: Improve the message of perf list for unexpected input Dongsheng Yang
2013-12-27 23:03 ` [PATCH 5/8] perf tools: Add support of name_only for print_events_type() function Dongsheng Yang
2013-12-27 23:03 ` [PATCH 6/8] perf tools: Make --raw-dump work as a proper option for perf list Dongsheng Yang
2013-12-27 23:03 ` [PATCH 7/8] perf tools: Fix bug when --raw-dump is not the first arguement " Dongsheng Yang
2013-12-27 23:03 ` [PATCH 8/8] perf tools: Enhancement for perf list with --raw-dump 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=52BF73CD.10701@cn.fujitsu.com \
    --to=yangds.fnst@cn.fujitsu.com \
    --cc=acme@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox