Re: [GIT PULL||RFC 00/11] perf library and regression testing improvements

Arnaldo Carvalho de Melo
2011-01-04T15:30:38Z

Em Tue, Jan 04, 2011 at 04:10:17PM +0100, Stephane Eranian escreveu:
> Ok, The problem comes both files picking up a different verison for
> perf_event.h.
>
> In my case, util/evsel.c was using /usr/include/linux/perf_event.h whereas
> builtin-stat.c was using ../../include/linux/perf_event.h. Both have a different
> struct perf_event_attr.
>
> When I remove the /usr/include/linux/perf_event.h file, then I cannot compile
> perf anymore:
> In file included from perf.c:15:
> util/parse-events.h:7:30: error: linux/perf_event.h: No such file or directory
>
> Looks like something changed in the Makefile and the util modules don't know
> where to pickup perf_event.h

With the patch below now we have all as:

[acme@felicio linux]$ find tools/ -name "*.[ch]" | xargs grep 'include.\+perf_event\.h'
tools/perf/util/session.h:#include "../../../include/linux/perf_event.h"
tools/perf/util/header.h:#include "../../../include/linux/perf_event.h"
tools/perf/util/evsel.h:#include "../../../include/linux/perf_event.h"
tools/perf/perf.h:#include "../../include/linux/perf_event.h"
[acme@felicio linux]$

Can you try it so that I can get your Acked-by and Tested-by?

diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index 863d78d..a0ccd69 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -3,7 +3,7 @@

#include <linux/list.h>
#include <stdbool.h>
-#include <linux/perf_event.h>
+#include "../../../include/linux/perf_event.h"
#include "types.h"
#include "xyarray.h"

diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.h
index 1c9043c..cefef9a 100644
--- a/tools/perf/util/parse-events.h
+++ b/tools/perf/util/parse-events.h
@@ -4,9 +4,9 @@
* Parse symbolic events/counts passed in as options:
*/

-#include <linux/perf_event.h>
+#include <linux/list.h>
+#include "types.h"

-struct list_head;
struct perf_evsel;

extern struct list_head evsel_list;