linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf, tools: Handle events including .c and .o
@ 2016-09-18  1:02 Andi Kleen
  2016-09-18  9:03 ` Jiri Olsa
  2016-09-18 10:20 ` Wangnan (F)
  0 siblings, 2 replies; 7+ messages in thread
From: Andi Kleen @ 2016-09-18  1:02 UTC (permalink / raw)
  To: acme; +Cc: jolsa, linux-kernel, Andi Kleen, wangnan0, sukadev

From: Andi Kleen <ak@linux.intel.com>

This is a generic bug fix, but it helps with Sukadev's JSON event tree
where such events can happen.

Any event inclduing a .c/.o/.bpf currently triggers BPF compilation or loading
and then an error.  This can happen for some Intel JSON events, which cannot
be used.

Fix the scanner to only match for .o or .c or .bpf at the end.
This will prevent loading multiple BPF scripts separated with comma,
but I assume this is acceptable.

Cc: wangnan0@huawei.com
Cc: sukadev@linux.vnet.ibm.com
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 tools/perf/util/parse-events.l | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
index 7a2519435da0..64ca26e4ed2d 100644
--- a/tools/perf/util/parse-events.l
+++ b/tools/perf/util/parse-events.l
@@ -162,8 +162,8 @@ modifier_bp	[rwx]{1,3}
 		}
 
 {event_pmu}	|
-{bpf_object}	|
-{bpf_source}	|
+({bpf_object}$)	|
+({bpf_source}$)	|
 {event}		{
 			BEGIN(INITIAL);
 			REWIND(1);
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] perf, tools: Handle events including .c and .o
@ 2016-10-06 20:18 Arnaldo Carvalho de Melo
  2016-10-08  4:16 ` [PATCH] " Wang Nan
  0 siblings, 1 reply; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-10-06 20:18 UTC (permalink / raw)
  To: Andi Kleen; +Cc: sukadev, jolsa, linux-kernel, Andi Kleen, wangnan0

Em Wed, Oct 05, 2016 at 12:47:10PM -0700, Andi Kleen escreveu:
> From: Andi Kleen <ak@linux.intel.com>
> 
> This is a generic bug fix, but it helps with Sukadev's JSON event tree
> where such events can happen.
> 
> Any event inclduing a .c/.o/.bpf currently triggers BPF compilation or loading
> and then an error.  This can happen for some Intel JSON events, which cannot
> be used.
> 
> Fix the scanner to only match for .o or .c or .bpf at the end.
> This will prevent loading multiple BPF scripts separated with comma,
> but I assume this is acceptable.

So, I tried it with the example provided in the thread for a previous
version of this patch (IIRC) and it still fails:


[acme@jouet linux]$ perf stat -e '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}' -a -I 1000
ERROR: problems with path {unc_p_clockticks,unc_p_power_state_occupancy.c: No such file or directory
event syntax error: '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}'
                     \___ Failed to load {unc_p_clockticks,unc_p_power_state_occupancy.c from source: Error when compiling BPF scriptlet

(add -v to see detail)
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
[acme@jouet linux]$

And with another event that for sure is available on this machine:



[acme@jouet linux]$ perf stat -e '{uops_executed.core_cycles_ge_2}' -I 1000 usleep 10
ERROR: problems with path {uops_executed.c: No such file or directory
event syntax error: '{uops_executed.core_cycles_ge_2}'
                     \___ Failed to load {uops_executed.c from source: Error when compiling BPF scriptlet

(add -v to see detail)
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
[acme@jouet linux]$


I thought this was due to the Makefile not noticing the change in the .l files, but I made
sure I deleted the build dir and rebuilt from scratch, same problem.

- Arnaldo
 
> Cc: wangnan0@huawei.com
> Cc: sukadev@linux.vnet.ibm.com
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> ---
>  tools/perf/util/parse-events.l | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
> index 9f43fda2570f..377147088a46 100644
> --- a/tools/perf/util/parse-events.l
> +++ b/tools/perf/util/parse-events.l
> @@ -183,8 +183,8 @@ modifier_bp	[rwx]{1,3}
>  		}
>  
>  {event_pmu}	|
> -{bpf_object}	|
> -{bpf_source}	|
> +({bpf_object}$)	|
> +({bpf_source}$)	|
>  {event}		{
>  			BEGIN(INITIAL);
>  			REWIND(1);
> -- 
> 2.5.5

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-10-08  4:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-18  1:02 [PATCH] perf, tools: Handle events including .c and .o Andi Kleen
2016-09-18  9:03 ` Jiri Olsa
2016-09-18 14:52   ` Andi Kleen
2016-09-18 10:20 ` Wangnan (F)
2016-09-18 14:56   ` Andi Kleen
2016-09-19  2:50     ` Wangnan (F)
2016-10-06 20:18 [PATCH 1/3] " Arnaldo Carvalho de Melo
2016-10-08  4:16 ` [PATCH] " Wang Nan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).