Re: [RFC PATCH 2/5] perf jevents: add support for arch recommended events

From: John Garry
Date: Fri Dec 08 2017 - 10:39:12 EST


On 08/12/2017 12:31, Jiri Olsa wrote:
On Wed, Dec 06, 2017 at 02:40:10PM +0000, John Garry wrote:
On 06/12/2017 13:37, Jiri Olsa wrote:
On Wed, Dec 06, 2017 at 12:13:16AM +0800, John Garry wrote:

SNIP

---
tools/perf/pmu-events/jevents.c | 215 ++++++++++++++++++++++++++++++++++++----
1 file changed, 198 insertions(+), 17 deletions(-)

diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
index a0d489e..a820ed4 100644
--- a/tools/perf/pmu-events/jevents.c
+++ b/tools/perf/pmu-events/jevents.c
@@ -42,6 +42,7 @@
#include <dirent.h>
#include <sys/time.h> /* getrlimit */
#include <sys/resource.h> /* getrlimit */
+#include <sys/queue.h>
#include <ftw.h>
#include <sys/stat.h>
#include "jsmn.h"
@@ -366,6 +367,94 @@ static int print_events_table_entry(void *data, char *name, char *event,
return 0;
}

+struct event_struct {
+ char *name;
+ char *event;
+ char *desc;
+ char *long_desc;
+ char *pmu;
+ char *unit;
+ char *perpkg;
+ char *metric_expr;
+ char *metric_name;
+ char *metric_group;
+ LIST_ENTRY(event_struct) list;

is there any reason you don't use the 'struct list_head' ?
I dont think we want another thingie involved for lists

Hi jirka,


Hi jirka,

The linux kernel headers are not used for jevents tool. I would rather use
them if possible...

should be as easy as adding #include <linux/list.h> ;-)


Hi jirka,

I think the issue is that jevents is a "hostprogs", which does not use kernel headers.

FWIW, here is the symptom:
pmu-events/jevents.c:51:24: fatal error: linux/list.h: No such file or directory
#include <linux/list.h>
^
compilation terminated.
mv: cannot stat ‘pmu-events/.jevents.o.tmp’: No such file or directory

perf tool build is different.

Much appreciated,
John


it's heavily used within perf and I'm pretty sure we want
to keep around just one way of doing lists

thanks,
jirka

.