perf evlist: Introduce evlist__for_each() & friends
For the common evsel list traversal, so that it becomes more compact. Use the opportunity to start ditching the 'perf_' from 'perf_evlist__', as discussed, as the whole conversion touches a lot of places, lets do it piecemeal when we have the chance due to other work, like in this case. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-qnkx7dzm2h6m6uptkfk03ni6@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -643,8 +643,7 @@ static int write_event_desc(int fd, struct perf_header *h __maybe_unused,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
list_for_each_entry(evsel, &evlist->entries, node) {
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
ret = do_write(fd, &evsel->attr, sz);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -1092,7 +1091,7 @@ static int write_group_desc(int fd, struct perf_header *h __maybe_unused,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
list_for_each_entry(evsel, &evlist->entries, node) {
|
||||
evlist__for_each(evlist, evsel) {
|
||||
if (perf_evsel__is_group_leader(evsel) &&
|
||||
evsel->nr_members > 1) {
|
||||
const char *name = evsel->group_name ?: "{anon_group}";
|
||||
@@ -1487,7 +1486,7 @@ static void print_group_desc(struct perf_header *ph, int fd __maybe_unused,
|
||||
|
||||
session = container_of(ph, struct perf_session, header);
|
||||
|
||||
list_for_each_entry(evsel, &session->evlist->entries, node) {
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
if (perf_evsel__is_group_leader(evsel) &&
|
||||
evsel->nr_members > 1) {
|
||||
fprintf(fp, "# group: %s{%s", evsel->group_name ?: "",
|
||||
@@ -1768,7 +1767,7 @@ perf_evlist__find_by_index(struct perf_evlist *evlist, int idx)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
list_for_each_entry(evsel, &evlist->entries, node) {
|
||||
evlist__for_each(evlist, evsel) {
|
||||
if (evsel->idx == idx)
|
||||
return evsel;
|
||||
}
|
||||
@@ -2071,7 +2070,7 @@ static int process_group_desc(struct perf_file_section *section __maybe_unused,
|
||||
session->evlist->nr_groups = nr_groups;
|
||||
|
||||
i = nr = 0;
|
||||
list_for_each_entry(evsel, &session->evlist->entries, node) {
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
if (evsel->idx == (int) desc[i].leader_idx) {
|
||||
evsel->leader = evsel;
|
||||
/* {anon_group} is a dummy name */
|
||||
@@ -2298,7 +2297,7 @@ int perf_session__write_header(struct perf_session *session,
|
||||
|
||||
lseek(fd, sizeof(f_header), SEEK_SET);
|
||||
|
||||
list_for_each_entry(evsel, &evlist->entries, node) {
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
evsel->id_offset = lseek(fd, 0, SEEK_CUR);
|
||||
err = do_write(fd, evsel->id, evsel->ids * sizeof(u64));
|
||||
if (err < 0) {
|
||||
@@ -2309,7 +2308,7 @@ int perf_session__write_header(struct perf_session *session,
|
||||
|
||||
attr_offset = lseek(fd, 0, SEEK_CUR);
|
||||
|
||||
list_for_each_entry(evsel, &evlist->entries, node) {
|
||||
evlist__for_each(evlist, evsel) {
|
||||
f_attr = (struct perf_file_attr){
|
||||
.attr = evsel->attr,
|
||||
.ids = {
|
||||
@@ -2742,7 +2741,7 @@ static int perf_evlist__prepare_tracepoint_events(struct perf_evlist *evlist,
|
||||
{
|
||||
struct perf_evsel *pos;
|
||||
|
||||
list_for_each_entry(pos, &evlist->entries, node) {
|
||||
evlist__for_each(evlist, pos) {
|
||||
if (pos->attr.type == PERF_TYPE_TRACEPOINT &&
|
||||
perf_evsel__prepare_tracepoint_event(pos, pevent))
|
||||
return -1;
|
||||
@@ -2890,7 +2889,7 @@ int perf_event__synthesize_attrs(struct perf_tool *tool,
|
||||
struct perf_evsel *evsel;
|
||||
int err = 0;
|
||||
|
||||
list_for_each_entry(evsel, &session->evlist->entries, node) {
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
err = perf_event__synthesize_attr(tool, &evsel->attr, evsel->ids,
|
||||
evsel->id, process);
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user