From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757527AbaCETwR (ORCPT ); Wed, 5 Mar 2014 14:52:17 -0500 Received: from mga11.intel.com ([192.55.52.93]:42534 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756211AbaCETtq (ORCPT ); Wed, 5 Mar 2014 14:49:46 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,594,1389772800"; d="scan'208";a="486652908" From: Andi Kleen To: acme@infradead.org Cc: mingo@kernel.org, linux-kernel@vger.kernel.org, peterz@infradead.org, eranian@google.com, namhyung@kernel.org, jolsa@redhat.com, Andi Kleen Subject: [PATCH 5/8] perf, tools: Allow events with dot Date: Wed, 5 Mar 2014 11:49:35 -0800 Message-Id: <1394048978-15909-6-git-send-email-andi@firstfloor.org> X-Mailer: git-send-email 1.8.5.3 In-Reply-To: <1394048978-15909-1-git-send-email-andi@firstfloor.org> References: <1394048978-15909-1-git-send-email-andi@firstfloor.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andi Kleen The Intel events use a dot to separate event name and unit mask. Allow dot in names in the scanner, and remove special handling of dot as EOF. Also remove the hack in jevents to replace dot with underscore. This way dotted events can be specified directly by the user. I'm not fully sure this change to the scanner is correct (what was the dot special case good for?), but I haven't found anything that breaks with it so far at least. Signed-off-by: Andi Kleen --- tools/perf/util/jevents.c | 9 +-------- tools/perf/util/parse-events.l | 3 +-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/tools/perf/util/jevents.c b/tools/perf/util/jevents.c index a3c776a..9743d70 100644 --- a/tools/perf/util/jevents.c +++ b/tools/perf/util/jevents.c @@ -78,15 +78,8 @@ static void addfield(char *map, char **dst, const char *sep, static void fixname(char *s) { - for (; *s; s++) { + for (; *s; s++) *s = tolower(*s); - /* - * Remove '.' for now, until the parser - * can deal with it. - */ - if (*s == '.') - *s = '_'; - } } static void fixdesc(char *s) diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l index 3432995..709fa3b 100644 --- a/tools/perf/util/parse-events.l +++ b/tools/perf/util/parse-events.l @@ -81,7 +81,7 @@ num_dec [0-9]+ num_hex 0x[a-fA-F0-9]+ num_raw_hex [a-fA-F0-9]+ name [a-zA-Z_*?][a-zA-Z0-9_*?]* -name_minus [a-zA-Z_*?][a-zA-Z0-9\-_*?]* +name_minus [a-zA-Z_*?][a-zA-Z0-9\-_*?.]* /* If you add a modifier you need to update check_modifier() */ modifier_event [ukhpGHSD]+ modifier_bp [rwx]{1,3} @@ -119,7 +119,6 @@ modifier_bp [rwx]{1,3} return PE_EVENT_NAME; } -. | <> { BEGIN(INITIAL); yyless(0); } -- 1.8.5.3