tgid, process, machine) < 0)
return -1;
+ /*
+ * send mmap only for thread group leader
+ * see thread__init_map_groups
+ */
+ if (pid == tgid &&
+ perf_event__synthesize_mmap_events(tool, mmap_event, pid, tgid,
+ process, machine, mmap_data,
+ proc_map_timeout))
+ return -1;
- return perf_event__synthesize_mmap_events(tool, mmap_event, pid, tgid,
- process, machine, mmap_data,
- proc_map_timeout);
+ return 0;
}
if (machine__is_default_guest(machine))
}
*size += sizeof(struct cpu_map_data);
+ *size = PERF_ALIGN(*size, sizeof(u64));
return zalloc(*size);
}
return NULL;
}
+#if 0
try_again:
+#endif
al->map = map_groups__find(mg, al->addr);
if (al->map == NULL) {
/*
* "[vdso]" dso, but for now lets use the old trick of looking
* in the whole kernel symbol list.
*/
+#if 0
if (cpumode == PERF_RECORD_MISC_USER && machine &&
mg != &machine->kmaps &&
machine__kernel_ip(machine, al->addr)) {
load_map = true;
goto try_again;
}
+#endif
} else {
/*
* Kernel maps might be changed when loading symbols so loading