|
@@ -65,8 +65,9 @@ static int process_synthesized_event(struct perf_tool *tool,
|
|
|
return record__write(rec, event, event->header.size);
|
|
|
}
|
|
|
|
|
|
-static int record__mmap_read(struct record *rec, struct perf_mmap *md)
|
|
|
+static int record__mmap_read(struct record *rec, int idx)
|
|
|
{
|
|
|
+ struct perf_mmap *md = &rec->evlist->mmap[idx];
|
|
|
unsigned int head = perf_mmap__read_head(md);
|
|
|
unsigned int old = md->prev;
|
|
|
unsigned char *data = md->base + page_size;
|
|
@@ -102,8 +103,7 @@ static int record__mmap_read(struct record *rec, struct perf_mmap *md)
|
|
|
}
|
|
|
|
|
|
md->prev = old;
|
|
|
- perf_mmap__write_tail(md, old);
|
|
|
-
|
|
|
+ perf_evlist__mmap_consume(rec->evlist, idx);
|
|
|
out:
|
|
|
return rc;
|
|
|
}
|
|
@@ -245,7 +245,7 @@ static int record__mmap_read_all(struct record *rec)
|
|
|
|
|
|
for (i = 0; i < rec->evlist->nr_mmaps; i++) {
|
|
|
if (rec->evlist->mmap[i].base) {
|
|
|
- if (record__mmap_read(rec, &rec->evlist->mmap[i]) != 0) {
|
|
|
+ if (record__mmap_read(rec, i) != 0) {
|
|
|
rc = -1;
|
|
|
goto out;
|
|
|
}
|