perf evlist: Rename for_each() macros to for_each_entry()
To match the semantics for list.h in the kernel, that are used to implement those macros. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Milian Wolff <milian.wolff@kdab.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Taeung Song <treeze.taeung@gmail.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-qbcjlgj0ffxquxscahbpddi3@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -81,7 +81,7 @@ static int add_cgroup(struct perf_evlist *evlist, char *str)
|
||||
/*
|
||||
* check if cgrp is already defined, if so we reuse it
|
||||
*/
|
||||
evlist__for_each(evlist, counter) {
|
||||
evlist__for_each_entry(evlist, counter) {
|
||||
cgrp = counter->cgrp;
|
||||
if (!cgrp)
|
||||
continue;
|
||||
@@ -110,7 +110,7 @@ static int add_cgroup(struct perf_evlist *evlist, char *str)
|
||||
* if add cgroup N, then need to find event N
|
||||
*/
|
||||
n = 0;
|
||||
evlist__for_each(evlist, counter) {
|
||||
evlist__for_each_entry(evlist, counter) {
|
||||
if (n == nr_cgroups)
|
||||
goto found;
|
||||
n++;
|
||||
|
@@ -997,7 +997,7 @@ static int setup_events(struct ctf_writer *cw, struct perf_session *session)
|
||||
struct perf_evsel *evsel;
|
||||
int ret;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
ret = add_event(cw, evsel);
|
||||
if (ret)
|
||||
return ret;
|
||||
@@ -1010,7 +1010,7 @@ static void cleanup_events(struct perf_session *session)
|
||||
struct perf_evlist *evlist = session->evlist;
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
struct evsel_priv *priv;
|
||||
|
||||
priv = evsel->priv;
|
||||
|
@@ -100,7 +100,7 @@ static void perf_evlist__update_id_pos(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
perf_evsel__calc_id_pos(evsel);
|
||||
|
||||
perf_evlist__set_id_pos(evlist);
|
||||
@@ -110,7 +110,7 @@ static void perf_evlist__purge(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *pos, *n;
|
||||
|
||||
evlist__for_each_safe(evlist, n, pos) {
|
||||
evlist__for_each_entry_safe(evlist, n, pos) {
|
||||
list_del_init(&pos->node);
|
||||
pos->evlist = NULL;
|
||||
perf_evsel__delete(pos);
|
||||
@@ -164,7 +164,7 @@ static void perf_evlist__propagate_maps(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
__perf_evlist__propagate_maps(evlist, evsel);
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ void perf_evlist__splice_list_tail(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *evsel, *temp;
|
||||
|
||||
__evlist__for_each_safe(list, temp, evsel) {
|
||||
__evlist__for_each_entry_safe(list, temp, evsel) {
|
||||
list_del_init(&evsel->node);
|
||||
perf_evlist__add(evlist, evsel);
|
||||
}
|
||||
@@ -208,7 +208,7 @@ void __perf_evlist__set_leader(struct list_head *list)
|
||||
|
||||
leader->nr_members = evsel->idx - leader->idx + 1;
|
||||
|
||||
__evlist__for_each(list, evsel) {
|
||||
__evlist__for_each_entry(list, evsel) {
|
||||
evsel->leader = leader;
|
||||
}
|
||||
}
|
||||
@@ -299,7 +299,7 @@ static int perf_evlist__add_attrs(struct perf_evlist *evlist,
|
||||
return 0;
|
||||
|
||||
out_delete_partial_list:
|
||||
__evlist__for_each_safe(&head, n, evsel)
|
||||
__evlist__for_each_entry_safe(&head, n, evsel)
|
||||
perf_evsel__delete(evsel);
|
||||
return -1;
|
||||
}
|
||||
@@ -320,7 +320,7 @@ perf_evlist__find_tracepoint_by_id(struct perf_evlist *evlist, int id)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type == PERF_TYPE_TRACEPOINT &&
|
||||
(int)evsel->attr.config == id)
|
||||
return evsel;
|
||||
@@ -335,7 +335,7 @@ perf_evlist__find_tracepoint_by_name(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if ((evsel->attr.type == PERF_TYPE_TRACEPOINT) &&
|
||||
(strcmp(evsel->name, name) == 0))
|
||||
return evsel;
|
||||
@@ -370,7 +370,7 @@ void perf_evlist__disable(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *pos;
|
||||
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
if (!perf_evsel__is_group_leader(pos) || !pos->fd)
|
||||
continue;
|
||||
perf_evsel__disable(pos);
|
||||
@@ -383,7 +383,7 @@ void perf_evlist__enable(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *pos;
|
||||
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
if (!perf_evsel__is_group_leader(pos) || !pos->fd)
|
||||
continue;
|
||||
perf_evsel__enable(pos);
|
||||
@@ -451,7 +451,7 @@ int perf_evlist__alloc_pollfd(struct perf_evlist *evlist)
|
||||
int nfds = 0;
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->system_wide)
|
||||
nfds += nr_cpus;
|
||||
else
|
||||
@@ -1015,7 +1015,7 @@ static int perf_evlist__mmap_per_evsel(struct perf_evlist *evlist, int idx,
|
||||
struct perf_evsel *evsel;
|
||||
int revent;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
int fd;
|
||||
|
||||
if (evsel->overwrite != (evlist->overwrite && evlist->backward))
|
||||
@@ -1262,7 +1262,7 @@ int perf_evlist__mmap_ex(struct perf_evlist *evlist, unsigned int pages,
|
||||
auxtrace_mmap_params__init(&mp.auxtrace_mp, evlist->mmap_len,
|
||||
auxtrace_pages, auxtrace_overwrite);
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if ((evsel->attr.read_format & PERF_FORMAT_ID) &&
|
||||
evsel->sample_id == NULL &&
|
||||
perf_evsel__alloc_id(evsel, cpu_map__nr(cpus), threads->nr) < 0)
|
||||
@@ -1338,7 +1338,7 @@ void __perf_evlist__set_sample_bit(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
__perf_evsel__set_sample_bit(evsel, bit);
|
||||
}
|
||||
|
||||
@@ -1347,7 +1347,7 @@ void __perf_evlist__reset_sample_bit(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
__perf_evsel__reset_sample_bit(evsel, bit);
|
||||
}
|
||||
|
||||
@@ -1358,7 +1358,7 @@ int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **e
|
||||
const int ncpus = cpu_map__nr(evlist->cpus),
|
||||
nthreads = thread_map__nr(evlist->threads);
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->filter == NULL)
|
||||
continue;
|
||||
|
||||
@@ -1381,7 +1381,7 @@ int perf_evlist__set_filter(struct perf_evlist *evlist, const char *filter)
|
||||
struct perf_evsel *evsel;
|
||||
int err = 0;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type != PERF_TYPE_TRACEPOINT)
|
||||
continue;
|
||||
|
||||
@@ -1435,7 +1435,7 @@ bool perf_evlist__valid_sample_type(struct perf_evlist *evlist)
|
||||
if (evlist->id_pos < 0 || evlist->is_pos < 0)
|
||||
return false;
|
||||
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
if (pos->id_pos != evlist->id_pos ||
|
||||
pos->is_pos != evlist->is_pos)
|
||||
return false;
|
||||
@@ -1451,7 +1451,7 @@ u64 __perf_evlist__combined_sample_type(struct perf_evlist *evlist)
|
||||
if (evlist->combined_sample_type)
|
||||
return evlist->combined_sample_type;
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
evlist->combined_sample_type |= evsel->attr.sample_type;
|
||||
|
||||
return evlist->combined_sample_type;
|
||||
@@ -1468,7 +1468,7 @@ u64 perf_evlist__combined_branch_type(struct perf_evlist *evlist)
|
||||
struct perf_evsel *evsel;
|
||||
u64 branch_type = 0;
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
branch_type |= evsel->attr.branch_sample_type;
|
||||
return branch_type;
|
||||
}
|
||||
@@ -1479,7 +1479,7 @@ bool perf_evlist__valid_read_format(struct perf_evlist *evlist)
|
||||
u64 read_format = first->attr.read_format;
|
||||
u64 sample_type = first->attr.sample_type;
|
||||
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
if (read_format != pos->attr.read_format)
|
||||
return false;
|
||||
}
|
||||
@@ -1536,7 +1536,7 @@ bool perf_evlist__valid_sample_id_all(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *first = perf_evlist__first(evlist), *pos = first;
|
||||
|
||||
evlist__for_each_continue(evlist, pos) {
|
||||
evlist__for_each_entry_continue(evlist, pos) {
|
||||
if (first->attr.sample_id_all != pos->attr.sample_id_all)
|
||||
return false;
|
||||
}
|
||||
@@ -1563,7 +1563,7 @@ void perf_evlist__close(struct perf_evlist *evlist)
|
||||
int nthreads = thread_map__nr(evlist->threads);
|
||||
int n;
|
||||
|
||||
evlist__for_each_reverse(evlist, evsel) {
|
||||
evlist__for_each_entry_reverse(evlist, evsel) {
|
||||
n = evsel->cpus ? evsel->cpus->nr : ncpus;
|
||||
perf_evsel__close(evsel, n, nthreads);
|
||||
}
|
||||
@@ -1617,7 +1617,7 @@ int perf_evlist__open(struct perf_evlist *evlist)
|
||||
|
||||
perf_evlist__update_id_pos(evlist);
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
err = perf_evsel__open(evsel, evsel->cpus, evsel->threads);
|
||||
if (err < 0)
|
||||
goto out_err;
|
||||
@@ -1778,7 +1778,7 @@ size_t perf_evlist__fprintf(struct perf_evlist *evlist, FILE *fp)
|
||||
struct perf_evsel *evsel;
|
||||
size_t printed = 0;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
printed += fprintf(fp, "%s%s", evsel->idx ? ", " : "",
|
||||
perf_evsel__name(evsel));
|
||||
}
|
||||
@@ -1880,7 +1880,7 @@ void perf_evlist__to_front(struct perf_evlist *evlist,
|
||||
if (move_evsel == perf_evlist__first(evlist))
|
||||
return;
|
||||
|
||||
evlist__for_each_safe(evlist, n, evsel) {
|
||||
evlist__for_each_entry_safe(evlist, n, evsel) {
|
||||
if (evsel->leader == move_evsel->leader)
|
||||
list_move_tail(&evsel->node, &move);
|
||||
}
|
||||
@@ -1896,7 +1896,7 @@ void perf_evlist__set_tracking_event(struct perf_evlist *evlist,
|
||||
if (tracking_evsel->tracking)
|
||||
return;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel != tracking_evsel)
|
||||
evsel->tracking = false;
|
||||
}
|
||||
@@ -1910,7 +1910,7 @@ perf_evlist__find_evsel_by_str(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (!evsel->name)
|
||||
continue;
|
||||
if (strcmp(str, evsel->name) == 0)
|
||||
|
@@ -251,70 +251,70 @@ void perf_evlist__to_front(struct perf_evlist *evlist,
|
||||
struct perf_evsel *move_evsel);
|
||||
|
||||
/**
|
||||
* __evlist__for_each - iterate thru all the evsels
|
||||
* __evlist__for_each_entry - iterate thru all the evsels
|
||||
* @list: list_head instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define __evlist__for_each(list, evsel) \
|
||||
#define __evlist__for_each_entry(list, evsel) \
|
||||
list_for_each_entry(evsel, list, node)
|
||||
|
||||
/**
|
||||
* evlist__for_each - iterate thru all the evsels
|
||||
* evlist__for_each_entry - iterate thru all the evsels
|
||||
* @evlist: evlist instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define evlist__for_each(evlist, evsel) \
|
||||
__evlist__for_each(&(evlist)->entries, evsel)
|
||||
#define evlist__for_each_entry(evlist, evsel) \
|
||||
__evlist__for_each_entry(&(evlist)->entries, evsel)
|
||||
|
||||
/**
|
||||
* __evlist__for_each_continue - continue iteration thru all the evsels
|
||||
* __evlist__for_each_entry_continue - continue iteration thru all the evsels
|
||||
* @list: list_head instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define __evlist__for_each_continue(list, evsel) \
|
||||
#define __evlist__for_each_entry_continue(list, evsel) \
|
||||
list_for_each_entry_continue(evsel, list, node)
|
||||
|
||||
/**
|
||||
* evlist__for_each_continue - continue iteration thru all the evsels
|
||||
* evlist__for_each_entry_continue - continue iteration thru all the evsels
|
||||
* @evlist: evlist instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define evlist__for_each_continue(evlist, evsel) \
|
||||
__evlist__for_each_continue(&(evlist)->entries, evsel)
|
||||
#define evlist__for_each_entry_continue(evlist, evsel) \
|
||||
__evlist__for_each_entry_continue(&(evlist)->entries, evsel)
|
||||
|
||||
/**
|
||||
* __evlist__for_each_reverse - iterate thru all the evsels in reverse order
|
||||
* __evlist__for_each_entry_reverse - iterate thru all the evsels in reverse order
|
||||
* @list: list_head instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define __evlist__for_each_reverse(list, evsel) \
|
||||
#define __evlist__for_each_entry_reverse(list, evsel) \
|
||||
list_for_each_entry_reverse(evsel, list, node)
|
||||
|
||||
/**
|
||||
* evlist__for_each_reverse - iterate thru all the evsels in reverse order
|
||||
* evlist__for_each_entry_reverse - iterate thru all the evsels in reverse order
|
||||
* @evlist: evlist instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define evlist__for_each_reverse(evlist, evsel) \
|
||||
__evlist__for_each_reverse(&(evlist)->entries, evsel)
|
||||
#define evlist__for_each_entry_reverse(evlist, evsel) \
|
||||
__evlist__for_each_entry_reverse(&(evlist)->entries, evsel)
|
||||
|
||||
/**
|
||||
* __evlist__for_each_safe - safely iterate thru all the evsels
|
||||
* __evlist__for_each_entry_safe - safely iterate thru all the evsels
|
||||
* @list: list_head instance to iterate
|
||||
* @tmp: struct evsel temp iterator
|
||||
* @evsel: struct evsel iterator
|
||||
*/
|
||||
#define __evlist__for_each_safe(list, tmp, evsel) \
|
||||
#define __evlist__for_each_entry_safe(list, tmp, evsel) \
|
||||
list_for_each_entry_safe(evsel, tmp, list, node)
|
||||
|
||||
/**
|
||||
* evlist__for_each_safe - safely iterate thru all the evsels
|
||||
* evlist__for_each_entry_safe - safely iterate thru all the evsels
|
||||
* @evlist: evlist instance to iterate
|
||||
* @evsel: struct evsel iterator
|
||||
* @tmp: struct evsel temp iterator
|
||||
*/
|
||||
#define evlist__for_each_safe(evlist, tmp, evsel) \
|
||||
__evlist__for_each_safe(&(evlist)->entries, tmp, evsel)
|
||||
#define evlist__for_each_entry_safe(evlist, tmp, evsel) \
|
||||
__evlist__for_each_entry_safe(&(evlist)->entries, tmp, evsel)
|
||||
|
||||
void perf_evlist__set_tracking_event(struct perf_evlist *evlist,
|
||||
struct perf_evsel *tracking_evsel);
|
||||
|
@@ -336,7 +336,7 @@ static int write_event_desc(int fd, struct perf_header *h __maybe_unused,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
ret = do_write(fd, &evsel->attr, sz);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -801,7 +801,7 @@ static int write_group_desc(int fd, struct perf_header *h __maybe_unused,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (perf_evsel__is_group_leader(evsel) &&
|
||||
evsel->nr_members > 1) {
|
||||
const char *name = evsel->group_name ?: "{anon_group}";
|
||||
@@ -1425,7 +1425,7 @@ static void print_group_desc(struct perf_header *ph, int fd __maybe_unused,
|
||||
|
||||
session = container_of(ph, struct perf_session, header);
|
||||
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
if (perf_evsel__is_group_leader(evsel) &&
|
||||
evsel->nr_members > 1) {
|
||||
fprintf(fp, "# group: %s{%s", evsel->group_name ?: "",
|
||||
@@ -1703,7 +1703,7 @@ perf_evlist__find_by_index(struct perf_evlist *evlist, int idx)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->idx == idx)
|
||||
return evsel;
|
||||
}
|
||||
@@ -2075,7 +2075,7 @@ static int process_group_desc(struct perf_file_section *section __maybe_unused,
|
||||
session->evlist->nr_groups = nr_groups;
|
||||
|
||||
i = nr = 0;
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
if (evsel->idx == (int) desc[i].leader_idx) {
|
||||
evsel->leader = evsel;
|
||||
/* {anon_group} is a dummy name */
|
||||
@@ -2383,7 +2383,7 @@ int perf_session__write_header(struct perf_session *session,
|
||||
|
||||
lseek(fd, sizeof(f_header), SEEK_SET);
|
||||
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
evsel->id_offset = lseek(fd, 0, SEEK_CUR);
|
||||
err = do_write(fd, evsel->id, evsel->ids * sizeof(u64));
|
||||
if (err < 0) {
|
||||
@@ -2394,7 +2394,7 @@ int perf_session__write_header(struct perf_session *session,
|
||||
|
||||
attr_offset = lseek(fd, 0, SEEK_CUR);
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
f_attr = (struct perf_file_attr){
|
||||
.attr = evsel->attr,
|
||||
.ids = {
|
||||
@@ -2828,7 +2828,7 @@ static int perf_evlist__prepare_tracepoint_events(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *pos;
|
||||
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
if (pos->attr.type == PERF_TYPE_TRACEPOINT &&
|
||||
perf_evsel__prepare_tracepoint_event(pos, pevent))
|
||||
return -1;
|
||||
@@ -3127,7 +3127,7 @@ int perf_event__synthesize_attrs(struct perf_tool *tool,
|
||||
struct perf_evsel *evsel;
|
||||
int err = 0;
|
||||
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
err = perf_event__synthesize_attr(tool, &evsel->attr, evsel->ids,
|
||||
evsel->id, process);
|
||||
if (err) {
|
||||
|
@@ -2199,7 +2199,7 @@ size_t perf_evlist__fprintf_nr_events(struct perf_evlist *evlist, FILE *fp)
|
||||
struct perf_evsel *pos;
|
||||
size_t ret = 0;
|
||||
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
ret += fprintf(fp, "%s stats:\n", perf_evsel__name(pos));
|
||||
ret += events_stats__fprintf(&evsel__hists(pos)->stats, fp);
|
||||
}
|
||||
|
@@ -777,7 +777,7 @@ static int intel_bts_synth_events(struct intel_bts *bts,
|
||||
u64 id;
|
||||
int err;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type == bts->pmu_type && evsel->ids) {
|
||||
found = true;
|
||||
break;
|
||||
|
@@ -557,7 +557,7 @@ static bool intel_pt_exclude_kernel(struct intel_pt *pt)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(pt->session->evlist, evsel) {
|
||||
evlist__for_each_entry(pt->session->evlist, evsel) {
|
||||
if (intel_pt_get_config(pt, &evsel->attr, NULL) &&
|
||||
!evsel->attr.exclude_kernel)
|
||||
return false;
|
||||
@@ -573,7 +573,7 @@ static bool intel_pt_return_compression(struct intel_pt *pt)
|
||||
if (!pt->noretcomp_bit)
|
||||
return true;
|
||||
|
||||
evlist__for_each(pt->session->evlist, evsel) {
|
||||
evlist__for_each_entry(pt->session->evlist, evsel) {
|
||||
if (intel_pt_get_config(pt, &evsel->attr, &config) &&
|
||||
(config & pt->noretcomp_bit))
|
||||
return false;
|
||||
@@ -593,7 +593,7 @@ static unsigned int intel_pt_mtc_period(struct intel_pt *pt)
|
||||
for (shift = 0, config = pt->mtc_freq_bits; !(config & 1); shift++)
|
||||
config >>= 1;
|
||||
|
||||
evlist__for_each(pt->session->evlist, evsel) {
|
||||
evlist__for_each_entry(pt->session->evlist, evsel) {
|
||||
if (intel_pt_get_config(pt, &evsel->attr, &config))
|
||||
return (config & pt->mtc_freq_bits) >> shift;
|
||||
}
|
||||
@@ -609,7 +609,7 @@ static bool intel_pt_timeless_decoding(struct intel_pt *pt)
|
||||
if (!pt->tsc_bit || !pt->cap_user_time_zero)
|
||||
return true;
|
||||
|
||||
evlist__for_each(pt->session->evlist, evsel) {
|
||||
evlist__for_each_entry(pt->session->evlist, evsel) {
|
||||
if (!(evsel->attr.sample_type & PERF_SAMPLE_TIME))
|
||||
return true;
|
||||
if (intel_pt_get_config(pt, &evsel->attr, &config)) {
|
||||
@@ -626,7 +626,7 @@ static bool intel_pt_tracing_kernel(struct intel_pt *pt)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(pt->session->evlist, evsel) {
|
||||
evlist__for_each_entry(pt->session->evlist, evsel) {
|
||||
if (intel_pt_get_config(pt, &evsel->attr, NULL) &&
|
||||
!evsel->attr.exclude_kernel)
|
||||
return true;
|
||||
@@ -643,7 +643,7 @@ static bool intel_pt_have_tsc(struct intel_pt *pt)
|
||||
if (!pt->tsc_bit)
|
||||
return false;
|
||||
|
||||
evlist__for_each(pt->session->evlist, evsel) {
|
||||
evlist__for_each_entry(pt->session->evlist, evsel) {
|
||||
if (intel_pt_get_config(pt, &evsel->attr, &config)) {
|
||||
if (config & pt->tsc_bit)
|
||||
have_tsc = true;
|
||||
@@ -1851,7 +1851,7 @@ static int intel_pt_synth_events(struct intel_pt *pt,
|
||||
u64 id;
|
||||
int err;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type == pt->pmu_type && evsel->ids) {
|
||||
found = true;
|
||||
break;
|
||||
@@ -1931,7 +1931,7 @@ static int intel_pt_synth_events(struct intel_pt *pt,
|
||||
pt->sample_transactions = true;
|
||||
pt->transactions_id = id;
|
||||
id += 1;
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->id && evsel->id[0] == pt->transactions_id) {
|
||||
if (evsel->name)
|
||||
zfree(&evsel->name);
|
||||
@@ -1969,7 +1969,7 @@ static struct perf_evsel *intel_pt_find_sched_switch(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each_reverse(evlist, evsel) {
|
||||
evlist__for_each_entry_reverse(evlist, evsel) {
|
||||
const char *name = perf_evsel__name(evsel);
|
||||
|
||||
if (!strcmp(name, "sched:sched_switch"))
|
||||
@@ -1983,7 +1983,7 @@ static bool intel_pt_find_switch(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.context_switch)
|
||||
return true;
|
||||
}
|
||||
|
@@ -108,7 +108,7 @@ jit_validate_events(struct perf_session *session)
|
||||
/*
|
||||
* check that all events use CLOCK_MONOTONIC
|
||||
*/
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
if (evsel->attr.use_clockid == 0 || evsel->attr.clockid != CLOCK_MONOTONIC)
|
||||
return -1;
|
||||
}
|
||||
|
@@ -1396,7 +1396,7 @@ int parse_events__modifier_event(struct list_head *list, char *str, bool add)
|
||||
if (!add && get_event_modifier(&mod, str, NULL))
|
||||
return -EINVAL;
|
||||
|
||||
__evlist__for_each(list, evsel) {
|
||||
__evlist__for_each_entry(list, evsel) {
|
||||
if (add && get_event_modifier(&mod, str, evsel))
|
||||
return -EINVAL;
|
||||
|
||||
@@ -1422,7 +1422,7 @@ int parse_events_name(struct list_head *list, char *name)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
__evlist__for_each(list, evsel) {
|
||||
__evlist__for_each_entry(list, evsel) {
|
||||
if (!evsel->name)
|
||||
evsel->name = strdup(name);
|
||||
}
|
||||
|
@@ -957,7 +957,7 @@ static PyObject *pyrf_evlist__item(PyObject *obj, Py_ssize_t i)
|
||||
if (i >= pevlist->evlist.nr_entries)
|
||||
return NULL;
|
||||
|
||||
evlist__for_each(&pevlist->evlist, pos) {
|
||||
evlist__for_each_entry(&pevlist->evlist, pos) {
|
||||
if (i-- == 0)
|
||||
break;
|
||||
}
|
||||
|
@@ -148,7 +148,7 @@ void perf_evlist__config(struct perf_evlist *evlist, struct record_opts *opts,
|
||||
|
||||
use_comm_exec = perf_can_comm_exec();
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
perf_evsel__config(evsel, opts, callchain);
|
||||
if (evsel->tracking && use_comm_exec)
|
||||
evsel->attr.comm_exec = 1;
|
||||
@@ -161,18 +161,18 @@ void perf_evlist__config(struct perf_evlist *evlist, struct record_opts *opts,
|
||||
* match the id.
|
||||
*/
|
||||
use_sample_identifier = perf_can_sample_identifier();
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
perf_evsel__set_sample_id(evsel, use_sample_identifier);
|
||||
} else if (evlist->nr_entries > 1) {
|
||||
struct perf_evsel *first = perf_evlist__first(evlist);
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.sample_type == first->attr.sample_type)
|
||||
continue;
|
||||
use_sample_identifier = perf_can_sample_identifier();
|
||||
break;
|
||||
}
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
perf_evsel__set_sample_id(evsel, use_sample_identifier);
|
||||
}
|
||||
|
||||
|
@@ -83,7 +83,7 @@ static bool perf_session__has_comm_exec(struct perf_session *session)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
if (evsel->attr.comm_exec)
|
||||
return true;
|
||||
}
|
||||
@@ -1872,7 +1872,7 @@ bool perf_session__has_traces(struct perf_session *session, const char *msg)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evlist__for_each_entry(session->evlist, evsel) {
|
||||
if (evsel->attr.type == PERF_TYPE_TRACEPOINT)
|
||||
return true;
|
||||
}
|
||||
@@ -1954,7 +1954,7 @@ struct perf_evsel *perf_session__find_first_evtype(struct perf_session *session,
|
||||
{
|
||||
struct perf_evsel *pos;
|
||||
|
||||
evlist__for_each(session->evlist, pos) {
|
||||
evlist__for_each_entry(session->evlist, pos) {
|
||||
if (pos->attr.type == type)
|
||||
return pos;
|
||||
}
|
||||
@@ -2109,7 +2109,7 @@ int perf_event__synthesize_id_index(struct perf_tool *tool,
|
||||
max_nr = (UINT16_MAX - sizeof(struct id_index_event)) /
|
||||
sizeof(struct id_index_entry);
|
||||
|
||||
evlist__for_each(evlist, evsel)
|
||||
evlist__for_each_entry(evlist, evsel)
|
||||
nr += evsel->ids;
|
||||
|
||||
n = nr > max_nr ? max_nr : nr;
|
||||
@@ -2122,7 +2122,7 @@ int perf_event__synthesize_id_index(struct perf_tool *tool,
|
||||
ev->id_index.header.size = sz;
|
||||
ev->id_index.nr = n;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
u32 j;
|
||||
|
||||
for (j = 0; j < evsel->ids; j++) {
|
||||
|
@@ -2069,7 +2069,7 @@ static struct perf_evsel *find_evsel(struct perf_evlist *evlist, char *event_nam
|
||||
}
|
||||
|
||||
full_name = !!strchr(event_name, ':');
|
||||
evlist__for_each(evlist, pos) {
|
||||
evlist__for_each_entry(evlist, pos) {
|
||||
/* case 2 */
|
||||
if (full_name && !strcmp(pos->name, event_name))
|
||||
return pos;
|
||||
@@ -2125,7 +2125,7 @@ static int add_all_dynamic_fields(struct perf_evlist *evlist, bool raw_trace,
|
||||
int ret;
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type != PERF_TYPE_TRACEPOINT)
|
||||
continue;
|
||||
|
||||
@@ -2143,7 +2143,7 @@ static int add_all_matching_fields(struct perf_evlist *evlist,
|
||||
struct perf_evsel *evsel;
|
||||
struct format_field *field;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type != PERF_TYPE_TRACEPOINT)
|
||||
continue;
|
||||
|
||||
@@ -2456,7 +2456,7 @@ static const char *get_default_sort_order(struct perf_evlist *evlist)
|
||||
if (evlist == NULL)
|
||||
goto out_no_evlist;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (evsel->attr.type != PERF_TYPE_TRACEPOINT) {
|
||||
use_trace = false;
|
||||
break;
|
||||
|
@@ -162,7 +162,7 @@ int perf_evlist__alloc_stats(struct perf_evlist *evlist, bool alloc_raw)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
if (perf_evsel__alloc_stats(evsel, alloc_raw))
|
||||
goto out_free;
|
||||
}
|
||||
@@ -178,7 +178,7 @@ void perf_evlist__free_stats(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
perf_evsel__free_stat_priv(evsel);
|
||||
perf_evsel__free_counts(evsel);
|
||||
perf_evsel__free_prev_raw_counts(evsel);
|
||||
@@ -189,7 +189,7 @@ void perf_evlist__reset_stats(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
perf_evsel__reset_stat_priv(evsel);
|
||||
perf_evsel__reset_counts(evsel);
|
||||
}
|
||||
|
Reference in New Issue
Block a user