aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/event.c')
-rw-r--r--tools/perf/util/event.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 0e9820ac4f5e..1abaefc126a8 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -110,7 +110,10 @@ static int event__synthesize_mmap_events(pid_t pid, pid_t tgid,
110 while (1) { 110 while (1) {
111 char bf[BUFSIZ], *pbf = bf; 111 char bf[BUFSIZ], *pbf = bf;
112 event_t ev = { 112 event_t ev = {
113 .header = { .type = PERF_RECORD_MMAP }, 113 .header = {
114 .type = PERF_RECORD_MMAP,
115 .misc = 0, /* Just like the kernel, see kernel/perf_event.c __perf_event_mmap */
116 },
114 }; 117 };
115 int n; 118 int n;
116 size_t size; 119 size_t size;
@@ -170,6 +173,7 @@ int event__synthesize_modules(event__handler_t process,
170 173
171 size = ALIGN(pos->dso->long_name_len + 1, sizeof(u64)); 174 size = ALIGN(pos->dso->long_name_len + 1, sizeof(u64));
172 memset(&ev, 0, sizeof(ev)); 175 memset(&ev, 0, sizeof(ev));
176 ev.mmap.header.misc = 1; /* kernel uses 0 for user space maps, see kernel/perf_event.c __perf_event_mmap */
173 ev.mmap.header.type = PERF_RECORD_MMAP; 177 ev.mmap.header.type = PERF_RECORD_MMAP;
174 ev.mmap.header.size = (sizeof(ev.mmap) - 178 ev.mmap.header.size = (sizeof(ev.mmap) -
175 (sizeof(ev.mmap.filename) - size)); 179 (sizeof(ev.mmap.filename) - size));
@@ -236,7 +240,10 @@ int event__synthesize_kernel_mmap(event__handler_t process,
236{ 240{
237 size_t size; 241 size_t size;
238 event_t ev = { 242 event_t ev = {
239 .header = { .type = PERF_RECORD_MMAP }, 243 .header = {
244 .type = PERF_RECORD_MMAP,
245 .misc = 1, /* kernel uses 0 for user space maps, see kernel/perf_event.c __perf_event_mmap */
246 },
240 }; 247 };
241 /* 248 /*
242 * We should get this from /sys/kernel/sections/.text, but till that is 249 * We should get this from /sys/kernel/sections/.text, but till that is