diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/builtin-record.c | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 90345223908c..eea56910b91c 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c | |||
@@ -113,24 +113,16 @@ static void write_output(void *buf, size_t size) | |||
113 | 113 | ||
114 | static void write_event(event_t *buf, size_t size) | 114 | static void write_event(event_t *buf, size_t size) |
115 | { | 115 | { |
116 | size_t processed_size = buf->header.size; | 116 | /* |
117 | event_t *ev = buf; | 117 | * Add it to the list of DSOs, so that when we finish this |
118 | 118 | * record session we can pick the available build-ids. | |
119 | do { | 119 | */ |
120 | /* | 120 | if (buf->header.type == PERF_RECORD_MMAP) { |
121 | * Add it to the list of DSOs, so that when we finish this | 121 | struct list_head *head = &dsos__user; |
122 | * record session we can pick the available build-ids. | 122 | if (buf->mmap.header.misc == 1) |
123 | */ | 123 | head = &dsos__kernel; |
124 | if (ev->header.type == PERF_RECORD_MMAP) { | 124 | __dsos__findnew(head, buf->mmap.filename); |
125 | struct list_head *head = &dsos__user; | 125 | } |
126 | if (ev->header.misc == 1) | ||
127 | head = &dsos__kernel; | ||
128 | __dsos__findnew(head, ev->mmap.filename); | ||
129 | } | ||
130 | |||
131 | ev = ((void *)ev) + ev->header.size; | ||
132 | processed_size += ev->header.size; | ||
133 | } while (processed_size < size); | ||
134 | 126 | ||
135 | write_output(buf, size); | 127 | write_output(buf, size); |
136 | } | 128 | } |