public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Linux Weekly News <lwn@lwn.net>,
	Wang Nan <wangnan0@huawei.com>, Andi Kleen <ak@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>,
	Zefan Li <lizefan@huawei.com>,
	pi3orama@163.com, Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 03/27] perf jevents: Handle events including .c and .o
Date: Thu, 13 Oct 2016 13:21:16 -0300	[thread overview]
Message-ID: <1476375700-8896-4-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1476375700-8896-1-git-send-email-acme@kernel.org>

From: Wang Nan <wangnan0@huawei.com>

This patch helps with Sukadev's JSON event tree where such events can happen.

>From Andi Kleen:
 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.

This patch fixes this problem by forbidding BPF file patch containing '{', '}'
and ',', make sure flex consumes the leading '{', instead of matcing it using
a BPF file path.

Tested result:

  $ perf stat -e '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}' -a -I 1000
  invalid or unsupported event: '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}'
  Run 'perf list' for a list of valid events
  (as expected, interperted as event)

  $ perf stat -e 'aaa.c' -a -I 1000
  ERROR: problems with path aaa.c: No such file or directory
  (as expected, interperted as BPF source)

  $ perf stat -e 'aaa.ccc' -a -I 1000
  invalid or unsupported event: 'aaa.ccc'
  (as expected, interperted as event)

  $ perf stat -e '{aaa.c}' -a -I 1000
  ERROR: problems with path aaa.c: No such file or directory
  event syntax error: '{aaa.c}'
  <SKIP>
  (as expected, interperted as BPF source)

  $ perf stat -e '{cycles,aaa.c}' -a -I 1000
  ERROR: problems with path aaa.c: No such file or directory
  event syntax error: '{cycles,aaa.c}'
  (as expected, interperted as BPF source)

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1475900185-37967-1-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.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..660fca05bc93 100644
--- a/tools/perf/util/parse-events.l
+++ b/tools/perf/util/parse-events.l
@@ -136,8 +136,8 @@ do {							\
 group		[^,{}/]*[{][^}]*[}][^,{}/]*
 event_pmu	[^,{}/]+[/][^/]*[/][^,{}/]*
 event		[^,{}/]+
-bpf_object	.*\.(o|bpf)
-bpf_source	.*\.c
+bpf_object	[^,{}]+\.(o|bpf)
+bpf_source	[^,{}]+\.c
 
 num_dec		[0-9]+
 num_hex		0x[a-fA-F0-9]+
-- 
2.7.4

  parent reply	other threads:[~2016-10-13 16:30 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-13 16:21 [GIT PULL 00/27] perf/urgent fixes and JSON events files Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 01/27] perf top: Fix refreshing hierarchy entries on TUI Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 02/27] perf header: Set nr_numa_nodes only when we parsed all the data Arnaldo Carvalho de Melo
2016-10-13 16:21 ` Arnaldo Carvalho de Melo [this message]
2016-10-13 16:21 ` [PATCH 04/27] perf list: Add support for listing only json events Arnaldo Carvalho de Melo
2016-10-16  6:53   ` Ingo Molnar
2016-10-17 13:57     ` Andi Kleen
2016-10-17 14:28       ` [GIT PULL] " Arnaldo Carvalho de Melo
2016-10-17 14:49         ` Ingo Molnar
2016-10-13 16:21 ` [PATCH 05/27] perf tools: Handle completion of upper case events Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 06/27] perf jevents: Add BroadwellDE V5 event file Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 07/27] perf jevents: Add Broadwell V17 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 08/27] perf jevents: Add BroadwellX V10 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 09/27] perf jevents: Add Bonnell V4 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 10/27] perf jevents: Add Goldmont V8 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 11/27] perf jevents: Add Haswell V24 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 12/27] perf jevents: Add HaswellX V17 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 13/27] perf jevents: Add IvyBridge V18 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 14/27] perf jevents: Add IvyTown V19 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 15/27] perf jevents: Add Jaketown V20 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 16/27] perf jevents: Add KnightsLanding V9 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 17/27] perf jevents: Add NehalemEP V2 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 18/27] perf jevents: Add NehalemEX " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 19/27] perf jevents: Add Skylake V24 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 20/27] perf jevents: Add Silvermont V13 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 21/27] perf jevents: Add SandyBridge V15 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 22/27] perf jevents: Add WestmereEP-DP V2 " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 23/27] perf jevents: Add WestmereEP-SP " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 24/27] perf jevents: Add WestmereEX " Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 25/27] perf jevents: Add power8 PMU events Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 26/27] perf jevents: Support couple more POWER8 PVRs in mapfile Arnaldo Carvalho de Melo
2016-10-13 16:21 ` [PATCH 27/27] perf jit: Fix build issue on Ubuntu Arnaldo Carvalho de Melo

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=1476375700-8896-4-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=lwn@lwn.net \
    --cc=mingo@kernel.org \
    --cc=pi3orama@163.com \
    --cc=sukadev@linux.vnet.ibm.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox