perf session: Use evlist/evsel for managing perf.data attributes

So that we can reuse things like the id to attr lookup routine
(perf_evlist__id2evsel) that uses a hash table instead of the linear
lookup done in the older perf_header_attr routines, etc.

Also to make evsels/evlist more pervasive an API, simplyfing using the
emerging perf lib.

cc: Arun Sharma <arun@sharma-home.net>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo
2011-03-10 11:15:54 -03:00
parent 6547250381
commit a91e5431d5
11 changed files with 179 additions and 328 deletions

View File

@@ -49,12 +49,17 @@ struct perf_evsel {
struct perf_event_attr attr;
char *filter;
struct xyarray *fd;
struct xyarray *id;
struct xyarray *sample_id;
u64 *id;
struct perf_counts *counts;
int idx;
int ids;
struct hists hists;
char *name;
void *priv;
union {
void *priv;
off_t id_offset;
};
struct cgroup_sel *cgrp;
};