diff options
Diffstat (limited to 'tools/perf/tests/code-reading.c')
| -rw-r--r-- | tools/perf/tests/code-reading.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c index c7115d369511..03ed8c77b1bb 100644 --- a/tools/perf/tests/code-reading.c +++ b/tools/perf/tests/code-reading.c @@ -409,15 +409,22 @@ static int process_events(struct machine *machine, struct perf_evlist *evlist,  			  struct state *state)  {  	union perf_event *event; +	struct perf_mmap *md; +	u64 end, start;  	int i, ret;  	for (i = 0; i < evlist->nr_mmaps; i++) { -		while ((event = perf_evlist__mmap_read(evlist, i)) != NULL) { +		md = &evlist->mmap[i]; +		if (perf_mmap__read_init(md, false, &start, &end) < 0) +			continue; + +		while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) {  			ret = process_event(machine, evlist, event, state); -			perf_evlist__mmap_consume(evlist, i); +			perf_mmap__consume(md, false);  			if (ret < 0)  				return ret;  		} +		perf_mmap__read_done(md);  	}  	return 0;  } |