[PATCH 6/8] perf tools: Fix pmu object alias initialization

2012-10-10 Thread Jiri Olsa
The pmu_lookup should return pmus that do not expose the 'events'
group attribute in sysfs. Also it should fail when any other error
during 'events' lookup is hit (pmu_aliases fails).

Signed-off-by: Jiri Olsa 
Cc: Arnaldo Carvalho de Melo 
Cc: Peter Zijlstra 
Cc: Ingo Molnar 
Cc: Paul Mackerras 
Cc: Corey Ashford 
Cc: Frederic Weisbecker 
Cc: Stephane Eranian 
---
 tools/perf/util/pmu.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index 8a2229d..18e8480 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -164,7 +164,7 @@ static int pmu_aliases(char *name, struct list_head *head)
 "%s/bus/event_source/devices/%s/events", sysfs, name);
 
if (stat(path, ) < 0)
-   return -1;
+   return 0;/* no error if 'events' does not exist */
 
if (pmu_aliases_parse(path, head))
return -1;
@@ -296,6 +296,9 @@ static struct perf_pmu *pmu_lookup(char *name)
if (pmu_format(name, ))
return NULL;
 
+   if (pmu_aliases(name, ))
+   return NULL;
+
if (pmu_type(name, ))
return NULL;
 
@@ -305,8 +308,6 @@ static struct perf_pmu *pmu_lookup(char *name)
 
pmu->cpus = pmu_cpumask(name);
 
-   pmu_aliases(name, );
-
INIT_LIST_HEAD(>format);
INIT_LIST_HEAD(>aliases);
list_splice(, >format);
-- 
1.7.11.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 6/8] perf tools: Fix pmu object alias initialization

2012-10-10 Thread Jiri Olsa
The pmu_lookup should return pmus that do not expose the 'events'
group attribute in sysfs. Also it should fail when any other error
during 'events' lookup is hit (pmu_aliases fails).

Signed-off-by: Jiri Olsa jo...@redhat.com
Cc: Arnaldo Carvalho de Melo a...@ghostprotocols.net
Cc: Peter Zijlstra a.p.zijls...@chello.nl
Cc: Ingo Molnar mi...@elte.hu
Cc: Paul Mackerras pau...@samba.org
Cc: Corey Ashford cjash...@linux.vnet.ibm.com
Cc: Frederic Weisbecker fweis...@gmail.com
Cc: Stephane Eranian eran...@google.com
---
 tools/perf/util/pmu.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index 8a2229d..18e8480 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -164,7 +164,7 @@ static int pmu_aliases(char *name, struct list_head *head)
 %s/bus/event_source/devices/%s/events, sysfs, name);
 
if (stat(path, st)  0)
-   return -1;
+   return 0;/* no error if 'events' does not exist */
 
if (pmu_aliases_parse(path, head))
return -1;
@@ -296,6 +296,9 @@ static struct perf_pmu *pmu_lookup(char *name)
if (pmu_format(name, format))
return NULL;
 
+   if (pmu_aliases(name, aliases))
+   return NULL;
+
if (pmu_type(name, type))
return NULL;
 
@@ -305,8 +308,6 @@ static struct perf_pmu *pmu_lookup(char *name)
 
pmu-cpus = pmu_cpumask(name);
 
-   pmu_aliases(name, aliases);
-
INIT_LIST_HEAD(pmu-format);
INIT_LIST_HEAD(pmu-aliases);
list_splice(format, pmu-format);
-- 
1.7.11.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/