All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>, Jiri Olsa <jolsa@kernel.org>,
	Wang Nan <wangnan0@huawei.com>,
	linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>,
	He Kuang <hekuang@huawei.com>, Alexei Starovoitov <ast@fb.com>
Subject: Re: [PATCH 2/2] perf, tools: Don't force MetricExprs to lower case
Date: Mon, 9 Oct 2017 11:09:44 -0300	[thread overview]
Message-ID: <20171009140944.GD28623@kernel.org> (raw)
In-Reply-To: <20171009134151.GA15127@krava>

Em Mon, Oct 09, 2017 at 03:41:51PM +0200, Jiri Olsa escreveu:
> On Wed, Oct 04, 2017 at 09:27:11AM -0700, Andi Kleen wrote:
> > On Wed, Oct 04, 2017 at 12:30:52PM +0200, Jiri Olsa wrote:
> > > right, it looks like we allow whole path (including / char)
> > > for BPF file, which messes up with out pmu/.../ syntax

> > > do we need that? (Cc-ed some bpf folks)

> > > if not attached patch seems to fix things.. otherwise
> > > we need to come up with another fix

> > I tried similar patches, but I always ran into more complex
> > situations where it still matched incorrectly.

> > e.g. try it with cpu/uops_executed.core,... vs uops_executed.core

> hm, both works for me with the change:

>   perf stat -e cpu/uops_executed.core/ ls
>   perf stat -e uops_executed.core ls

> > The only real fix would be probably to add some unique 
> > prefix for BPF, but that would break all existing users.

> yea, there was no response from bpf folks, but it's  probably not an option
 
> how about checking if the file exist like below..

Works well for me, Jiri, I found a problem in the last case, can you take a look?

[root@jouet bpf]# perf stat -e cpu/uops_executed.core/,uops_executed.core sleep 1

 Performance counter stats for 'sleep 1':

         1,094,963      cpu/uops_executed.core/                                     
         1,094,963      uops_executed.core                                          

       1.001925575 seconds time elapsed

[root@jouet bpf]# perf stat -e uops_executed.core sleep 1

 Performance counter stats for 'sleep 1':

         2,309,245      uops_executed.core                                          

       1.003314897 seconds time elapsed

[root@jouet bpf]# perf stat -e cpu/uops_executed.core/ sleep 1

 Performance counter stats for 'sleep 1':

         1,664,618      cpu/uops_executed.core/                                     

       1.002284214 seconds time elapsed

[root@jouet bpf]# cat sys_read.c 
#define SEC(NAME) __attribute__((section(NAME), used))
SEC("func=sys_read")
int bpf_func__sys_read(void *ctx)
{
	return 1;
}
char _license[] SEC("license") = "GPL";
int _version SEC("version") = LINUX_VERSION_CODE;
[root@jouet bpf]# perf trace --no-syscalls -e sys_read.c/max-stack=5/ sleep 1
bpf: builtin compilation failed: -95, try external compiler
     0.000 perf_bpf_probe:func:(ffffffffb7263190))
                                       sys_read ([kernel.kallsyms])
                                       entry_SYSCALL_64_fastpath ([kernel.kallsyms])
                                       __read (/usr/lib64/ld-2.25.so)
                                       _dl_map_object (/usr/lib64/ld-2.25.so)
[root@jouet bpf]# perf trace --no-syscalls -e sys_read.c sleep 1
bpf: builtin compilation failed: -95, try external compiler
     0.000 perf_bpf_probe:func:(ffffffffb7263190))
[root@jouet bpf]#

[root@jouet bpf]# perf stat -e UOPS_EXECUTED.CORE sleep 1

 Performance counter stats for 'sleep 1':

         1,205,347      UOPS_EXECUTED.CORE                                          

       1.001694225 seconds time elapsed

But I noticed this problem:

[root@jouet bpf]# perf stat -e cpu/uops_executed.core/,uops_executed.core,cpu/UOPS_EXECUTED.CORE sleep 1
event syntax error: '..d=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:IY�'
                                  \___ parser error
Run 'perf list' for a list of valid events

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

    -e, --event <event>   event selector. use 'perf list' to list available events
[root@jouet bpf]# 

  parent reply	other threads:[~2017-10-09 14:09 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-12 19:56 [PATCH 1/2] perf, tools, json: Fix ILP metrics Andi Kleen
2017-09-12 19:56 ` [PATCH 2/2] perf, tools: Don't force MetricExprs to lower case Andi Kleen
2017-10-03 16:06   ` Arnaldo Carvalho de Melo
2017-10-04 10:30     ` Jiri Olsa
2017-10-04 16:27       ` Andi Kleen
2017-10-09 13:41         ` Jiri Olsa
2017-10-09 14:07           ` Andi Kleen
2017-10-09 14:12             ` Arnaldo Carvalho de Melo
2017-10-09 14:39               ` Jiri Olsa
2017-10-09 14:51                 ` Arnaldo Carvalho de Melo
2017-10-09 15:39                 ` Andi Kleen
2017-10-12 15:31                 ` Wangnan (F)
2017-10-12 15:59                   ` Jiri Olsa
2017-10-12 16:07                     ` Wangnan (F)
2017-10-09 14:43             ` Jiri Olsa
2017-10-09 14:09           ` Arnaldo Carvalho de Melo [this message]
2017-10-09 14:41             ` Jiri Olsa
2017-10-12 15:13               ` Jiri Olsa
2017-10-12 21:53                 ` Andi Kleen
2017-10-28 23:10             ` [tip:perf/urgent] perf tools: Unwind properly location after REJECT tip-bot for Jiri Olsa

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=20171009140944.GD28623@kernel.org \
    --to=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=andi@firstfloor.org \
    --cc=ast@fb.com \
    --cc=hekuang@huawei.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wangnan0@huawei.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 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.