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:
@@ -883,7 +883,6 @@ try_again:
|
||||
static int __cmd_top(void)
|
||||
{
|
||||
pthread_t thread;
|
||||
struct perf_evsel *first;
|
||||
int ret __used;
|
||||
/*
|
||||
* FIXME: perf_session__new should allow passing a O_MMAP, so that all this
|
||||
@@ -900,8 +899,8 @@ static int __cmd_top(void)
|
||||
perf_event__synthesize_threads(perf_event__process, session);
|
||||
|
||||
start_counters(top.evlist);
|
||||
first = list_entry(top.evlist->entries.next, struct perf_evsel, node);
|
||||
perf_session__set_sample_type(session, first->attr.sample_type);
|
||||
session->evlist = top.evlist;
|
||||
perf_session__update_sample_type(session);
|
||||
|
||||
/* Wait for a minimal set of events before starting the snapshot */
|
||||
poll(top.evlist->pollfd, top.evlist->nr_fds, 100);
|
||||
|
Reference in New Issue
Block a user