libperf: Include perf_evlist in evlist object

Include perf_evlist in the evlist object, will continue to move other
generic things into libperf's perf_evlist.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190721112506.12306-37-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Jiri Olsa
2019-07-21 13:24:23 +02:00
committed by Arnaldo Carvalho de Melo
parent b27c4ece72
commit ce9036a6e3
10 changed files with 26 additions and 25 deletions

View File

@@ -8,6 +8,7 @@
#include <linux/list.h>
#include <api/fd/array.h>
#include <stdio.h>
#include <internal/evlist.h>
#include "../perf.h"
#include "event.h"
#include "evsel.h"
@@ -25,7 +26,7 @@ struct record_opts;
#define PERF_EVLIST__HLIST_SIZE (1 << PERF_EVLIST__HLIST_BITS)
struct evlist {
struct list_head entries;
struct perf_evlist core;
struct hlist_head heads[PERF_EVLIST__HLIST_SIZE];
int nr_entries;
int nr_groups;
@@ -225,17 +226,17 @@ void perf_evlist__splice_list_tail(struct evlist *evlist,
static inline bool perf_evlist__empty(struct evlist *evlist)
{
return list_empty(&evlist->entries);
return list_empty(&evlist->core.entries);
}
static inline struct evsel *perf_evlist__first(struct evlist *evlist)
{
return list_entry(evlist->entries.next, struct evsel, core.node);
return list_entry(evlist->core.entries.next, struct evsel, core.node);
}
static inline struct evsel *perf_evlist__last(struct evlist *evlist)
{
return list_entry(evlist->entries.prev, struct evsel, core.node);
return list_entry(evlist->core.entries.prev, struct evsel, core.node);
}
size_t perf_evlist__fprintf(struct evlist *evlist, FILE *fp);
@@ -261,7 +262,7 @@ void perf_evlist__to_front(struct evlist *evlist,
* @evsel: struct evsel iterator
*/
#define evlist__for_each_entry(evlist, evsel) \
__evlist__for_each_entry(&(evlist)->entries, evsel)
__evlist__for_each_entry(&(evlist)->core.entries, evsel)
/**
* __evlist__for_each_entry_continue - continue iteration thru all the evsels
@@ -277,7 +278,7 @@ void perf_evlist__to_front(struct evlist *evlist,
* @evsel: struct evsel iterator
*/
#define evlist__for_each_entry_continue(evlist, evsel) \
__evlist__for_each_entry_continue(&(evlist)->entries, evsel)
__evlist__for_each_entry_continue(&(evlist)->core.entries, evsel)
/**
* __evlist__for_each_entry_reverse - iterate thru all the evsels in reverse order
@@ -293,7 +294,7 @@ void perf_evlist__to_front(struct evlist *evlist,
* @evsel: struct evsel iterator
*/
#define evlist__for_each_entry_reverse(evlist, evsel) \
__evlist__for_each_entry_reverse(&(evlist)->entries, evsel)
__evlist__for_each_entry_reverse(&(evlist)->core.entries, evsel)
/**
* __evlist__for_each_entry_safe - safely iterate thru all the evsels
@@ -311,7 +312,7 @@ void perf_evlist__to_front(struct evlist *evlist,
* @tmp: struct evsel temp iterator
*/
#define evlist__for_each_entry_safe(evlist, tmp, evsel) \
__evlist__for_each_entry_safe(&(evlist)->entries, tmp, evsel)
__evlist__for_each_entry_safe(&(evlist)->core.entries, tmp, evsel)
void perf_evlist__set_tracking_event(struct evlist *evlist,
struct evsel *tracking_evsel);