• Home
  • Raw
  • Download

Lines Matching refs:event

51 				   union perf_event *event,  in perf_tool__process_synth_event()  argument
62 .cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK, in perf_tool__process_synth_event()
65 return process(tool, event, &synth_sample, machine); in perf_tool__process_synth_event()
153 static int perf_event__prepare_comm(union perf_event *event, pid_t pid, pid_t tid, in perf_event__prepare_comm() argument
161 memset(&event->comm, 0, sizeof(event->comm)); in perf_event__prepare_comm()
164 if (perf_event__get_comm_ids(pid, tid, event->comm.comm, in perf_event__prepare_comm()
165 sizeof(event->comm.comm), in perf_event__prepare_comm()
176 event->comm.pid = *tgid; in perf_event__prepare_comm()
177 event->comm.header.type = PERF_RECORD_COMM; in perf_event__prepare_comm()
179 size = strlen(event->comm.comm) + 1; in perf_event__prepare_comm()
181 memset(event->comm.comm + size, 0, machine->id_hdr_size); in perf_event__prepare_comm()
182 event->comm.header.size = (sizeof(event->comm) - in perf_event__prepare_comm()
183 (sizeof(event->comm.comm) - size) + in perf_event__prepare_comm()
185 event->comm.tid = tid; in perf_event__prepare_comm()
191 union perf_event *event, pid_t pid, in perf_event__synthesize_comm() argument
198 if (perf_event__prepare_comm(event, 0, pid, machine, &tgid, &ppid, in perf_event__synthesize_comm()
202 if (perf_tool__process_synth_event(tool, event, machine, process) != 0) in perf_event__synthesize_comm()
222 union perf_event *event, in perf_event__synthesize_namespaces() argument
233 memset(&event->namespaces, 0, (sizeof(event->namespaces) + in perf_event__synthesize_namespaces()
237 event->namespaces.pid = tgid; in perf_event__synthesize_namespaces()
238 event->namespaces.tid = pid; in perf_event__synthesize_namespaces()
240 event->namespaces.nr_namespaces = NR_NAMESPACES; in perf_event__synthesize_namespaces()
242 ns_link_info = event->namespaces.link_info; in perf_event__synthesize_namespaces()
244 for (idx = 0; idx < event->namespaces.nr_namespaces; idx++) in perf_event__synthesize_namespaces()
248 event->namespaces.header.type = PERF_RECORD_NAMESPACES; in perf_event__synthesize_namespaces()
250 event->namespaces.header.size = (sizeof(event->namespaces) + in perf_event__synthesize_namespaces()
254 if (perf_tool__process_synth_event(tool, event, machine, process) != 0) in perf_event__synthesize_namespaces()
261 union perf_event *event, in perf_event__synthesize_fork() argument
266 memset(&event->fork, 0, sizeof(event->fork) + machine->id_hdr_size); in perf_event__synthesize_fork()
274 event->fork.ppid = ppid; in perf_event__synthesize_fork()
275 event->fork.ptid = ppid; in perf_event__synthesize_fork()
277 event->fork.ppid = tgid; in perf_event__synthesize_fork()
278 event->fork.ptid = tgid; in perf_event__synthesize_fork()
280 event->fork.pid = tgid; in perf_event__synthesize_fork()
281 event->fork.tid = pid; in perf_event__synthesize_fork()
282 event->fork.header.type = PERF_RECORD_FORK; in perf_event__synthesize_fork()
283 event->fork.header.misc = PERF_RECORD_MISC_FORK_EXEC; in perf_event__synthesize_fork()
285 event->fork.header.size = (sizeof(event->fork) + machine->id_hdr_size); in perf_event__synthesize_fork()
287 if (perf_tool__process_synth_event(tool, event, machine, process) != 0) in perf_event__synthesize_fork()
366 static void perf_record_mmap2__read_build_id(struct perf_record_mmap2 *event, in perf_record_mmap2__read_build_id() argument
379 nsi = nsinfo__new(event->pid); in perf_record_mmap2__read_build_id()
382 rc = filename__read_build_id(event->filename, &bid) > 0 ? 0 : -1; in perf_record_mmap2__read_build_id()
389 memcpy(event->build_id, bid.data, sizeof(bid.data)); in perf_record_mmap2__read_build_id()
390 event->build_id_size = (u8) bid.size; in perf_record_mmap2__read_build_id()
391 event->header.misc |= PERF_RECORD_MISC_MMAP_BUILD_ID; in perf_record_mmap2__read_build_id()
392 event->__reserved_1 = 0; in perf_record_mmap2__read_build_id()
393 event->__reserved_2 = 0; in perf_record_mmap2__read_build_id()
395 if (event->filename[0] == '/') { in perf_record_mmap2__read_build_id()
397 event->filename); in perf_record_mmap2__read_build_id()
403 union perf_event *event, in perf_event__synthesize_mmap_events() argument
434 event->header.type = PERF_RECORD_MMAP2; in perf_event__synthesize_mmap_events()
442 event->mmap2.filename[0] = '\0'; in perf_event__synthesize_mmap_events()
446 &event->mmap2.start, in perf_event__synthesize_mmap_events()
447 &event->mmap2.len, in perf_event__synthesize_mmap_events()
448 &event->mmap2.prot, in perf_event__synthesize_mmap_events()
449 &event->mmap2.flags, in perf_event__synthesize_mmap_events()
450 &event->mmap2.pgoff, in perf_event__synthesize_mmap_events()
451 &event->mmap2.maj, in perf_event__synthesize_mmap_events()
452 &event->mmap2.min, in perf_event__synthesize_mmap_events()
453 &event->mmap2.ino, in perf_event__synthesize_mmap_events()
454 sizeof(event->mmap2.filename), in perf_event__synthesize_mmap_events()
455 event->mmap2.filename)) in perf_event__synthesize_mmap_events()
467 event->mmap2.ino_generation = 0; in perf_event__synthesize_mmap_events()
473 event->header.misc = PERF_RECORD_MISC_USER; in perf_event__synthesize_mmap_events()
475 event->header.misc = PERF_RECORD_MISC_GUEST_USER; in perf_event__synthesize_mmap_events()
477 if ((event->mmap2.prot & PROT_EXEC) == 0) { in perf_event__synthesize_mmap_events()
478 if (!mmap_data || (event->mmap2.prot & PROT_READ) == 0) in perf_event__synthesize_mmap_events()
481 event->header.misc |= PERF_RECORD_MISC_MMAP_DATA; in perf_event__synthesize_mmap_events()
486 event->header.misc |= PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT; in perf_event__synthesize_mmap_events()
488 if (!strcmp(event->mmap2.filename, "")) in perf_event__synthesize_mmap_events()
489 strcpy(event->mmap2.filename, anonstr); in perf_event__synthesize_mmap_events()
492 !strncmp(event->mmap2.filename, hugetlbfs_mnt, in perf_event__synthesize_mmap_events()
494 strcpy(event->mmap2.filename, anonstr); in perf_event__synthesize_mmap_events()
495 event->mmap2.flags |= MAP_HUGETLB; in perf_event__synthesize_mmap_events()
498 size = strlen(event->mmap2.filename) + 1; in perf_event__synthesize_mmap_events()
500 event->mmap2.len -= event->mmap.start; in perf_event__synthesize_mmap_events()
501 event->mmap2.header.size = (sizeof(event->mmap2) - in perf_event__synthesize_mmap_events()
502 (sizeof(event->mmap2.filename) - aligned_size)); in perf_event__synthesize_mmap_events()
503 memset(event->mmap2.filename + size, 0, machine->id_hdr_size + in perf_event__synthesize_mmap_events()
505 event->mmap2.header.size += machine->id_hdr_size; in perf_event__synthesize_mmap_events()
506 event->mmap2.pid = tgid; in perf_event__synthesize_mmap_events()
507 event->mmap2.tid = pid; in perf_event__synthesize_mmap_events()
510 perf_record_mmap2__read_build_id(&event->mmap2, false); in perf_event__synthesize_mmap_events()
512 if (perf_tool__process_synth_event(tool, event, machine, process) != 0) { in perf_event__synthesize_mmap_events()
527 union perf_event *event, in perf_event__synthesize_cgroup() argument
532 size_t event_size = sizeof(event->cgroup) - sizeof(event->cgroup.path); in perf_event__synthesize_cgroup()
543 memset(&event->cgroup, 0, event_size); in perf_event__synthesize_cgroup()
545 event->cgroup.header.type = PERF_RECORD_CGROUP; in perf_event__synthesize_cgroup()
546 event->cgroup.header.size = event_size + path_len + machine->id_hdr_size; in perf_event__synthesize_cgroup()
554 event->cgroup.id = handle.cgroup_id; in perf_event__synthesize_cgroup()
555 strncpy(event->cgroup.path, path + mount_len, path_len); in perf_event__synthesize_cgroup()
556 memset(event->cgroup.path + path_len, 0, machine->id_hdr_size); in perf_event__synthesize_cgroup()
558 if (perf_tool__process_synth_event(tool, event, machine, process) < 0) { in perf_event__synthesize_cgroup()
567 union perf_event *event, in perf_event__walk_cgroup_tree() argument
577 if (perf_event__synthesize_cgroup(tool, event, path, mount_len, in perf_event__walk_cgroup_tree()
602 ret = perf_event__walk_cgroup_tree(tool, event, path, in perf_event__walk_cgroup_tree()
618 union perf_event event; in perf_event__synthesize_cgroups() local
634 if (perf_event__walk_cgroup_tree(tool, &event, cgrp_root, mount_len, in perf_event__synthesize_cgroups()
655 union perf_event *event; in perf_event__synthesize_modules() local
657 sizeof(event->mmap2) : sizeof(event->mmap); in perf_event__synthesize_modules()
659 event = zalloc(size + machine->id_hdr_size); in perf_event__synthesize_modules()
660 if (event == NULL) { in perf_event__synthesize_modules()
671 event->header.misc = PERF_RECORD_MISC_KERNEL; in perf_event__synthesize_modules()
673 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL; in perf_event__synthesize_modules()
681 event->mmap2.header.type = PERF_RECORD_MMAP2; in perf_event__synthesize_modules()
682 event->mmap2.header.size = (sizeof(event->mmap2) - in perf_event__synthesize_modules()
683 (sizeof(event->mmap2.filename) - size)); in perf_event__synthesize_modules()
684 memset(event->mmap2.filename + size, 0, machine->id_hdr_size); in perf_event__synthesize_modules()
685 event->mmap2.header.size += machine->id_hdr_size; in perf_event__synthesize_modules()
686 event->mmap2.start = pos->start; in perf_event__synthesize_modules()
687 event->mmap2.len = pos->end - pos->start; in perf_event__synthesize_modules()
688 event->mmap2.pid = machine->pid; in perf_event__synthesize_modules()
690 memcpy(event->mmap2.filename, pos->dso->long_name, in perf_event__synthesize_modules()
693 perf_record_mmap2__read_build_id(&event->mmap2, false); in perf_event__synthesize_modules()
696 event->mmap.header.type = PERF_RECORD_MMAP; in perf_event__synthesize_modules()
697 event->mmap.header.size = (sizeof(event->mmap) - in perf_event__synthesize_modules()
698 (sizeof(event->mmap.filename) - size)); in perf_event__synthesize_modules()
699 memset(event->mmap.filename + size, 0, machine->id_hdr_size); in perf_event__synthesize_modules()
700 event->mmap.header.size += machine->id_hdr_size; in perf_event__synthesize_modules()
701 event->mmap.start = pos->start; in perf_event__synthesize_modules()
702 event->mmap.len = pos->end - pos->start; in perf_event__synthesize_modules()
703 event->mmap.pid = machine->pid; in perf_event__synthesize_modules()
705 memcpy(event->mmap.filename, pos->dso->long_name, in perf_event__synthesize_modules()
709 if (perf_tool__process_synth_event(tool, event, machine, process) != 0) { in perf_event__synthesize_modules()
715 free(event); in perf_event__synthesize_modules()
1074 union perf_event *event; in __perf_event__synthesize_kernel_mmap() local
1076 sizeof(event->mmap2) : sizeof(event->mmap); in __perf_event__synthesize_kernel_mmap()
1093 event = zalloc(size + machine->id_hdr_size); in __perf_event__synthesize_kernel_mmap()
1094 if (event == NULL) { in __perf_event__synthesize_kernel_mmap()
1105 event->header.misc = PERF_RECORD_MISC_KERNEL; in __perf_event__synthesize_kernel_mmap()
1107 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL; in __perf_event__synthesize_kernel_mmap()
1111 size = snprintf(event->mmap2.filename, sizeof(event->mmap2.filename), in __perf_event__synthesize_kernel_mmap()
1114 event->mmap2.header.type = PERF_RECORD_MMAP2; in __perf_event__synthesize_kernel_mmap()
1115 event->mmap2.header.size = (sizeof(event->mmap2) - in __perf_event__synthesize_kernel_mmap()
1116 (sizeof(event->mmap2.filename) - size) + machine->id_hdr_size); in __perf_event__synthesize_kernel_mmap()
1117 event->mmap2.pgoff = kmap->ref_reloc_sym->addr; in __perf_event__synthesize_kernel_mmap()
1118 event->mmap2.start = map->start; in __perf_event__synthesize_kernel_mmap()
1119 event->mmap2.len = map->end - event->mmap.start; in __perf_event__synthesize_kernel_mmap()
1120 event->mmap2.pid = machine->pid; in __perf_event__synthesize_kernel_mmap()
1122 perf_record_mmap2__read_build_id(&event->mmap2, true); in __perf_event__synthesize_kernel_mmap()
1124 size = snprintf(event->mmap.filename, sizeof(event->mmap.filename), in __perf_event__synthesize_kernel_mmap()
1127 event->mmap.header.type = PERF_RECORD_MMAP; in __perf_event__synthesize_kernel_mmap()
1128 event->mmap.header.size = (sizeof(event->mmap) - in __perf_event__synthesize_kernel_mmap()
1129 (sizeof(event->mmap.filename) - size) + machine->id_hdr_size); in __perf_event__synthesize_kernel_mmap()
1130 event->mmap.pgoff = kmap->ref_reloc_sym->addr; in __perf_event__synthesize_kernel_mmap()
1131 event->mmap.start = map->start; in __perf_event__synthesize_kernel_mmap()
1132 event->mmap.len = map->end - event->mmap.start; in __perf_event__synthesize_kernel_mmap()
1133 event->mmap.pid = machine->pid; in __perf_event__synthesize_kernel_mmap()
1136 err = perf_tool__process_synth_event(tool, event, machine, process); in __perf_event__synthesize_kernel_mmap()
1137 free(event); in __perf_event__synthesize_kernel_mmap()
1160 union perf_event *event; in perf_event__synthesize_thread_map2() local
1163 size = sizeof(event->thread_map); in perf_event__synthesize_thread_map2()
1164 size += threads->nr * sizeof(event->thread_map.entries[0]); in perf_event__synthesize_thread_map2()
1166 event = zalloc(size); in perf_event__synthesize_thread_map2()
1167 if (!event) in perf_event__synthesize_thread_map2()
1170 event->header.type = PERF_RECORD_THREAD_MAP; in perf_event__synthesize_thread_map2()
1171 event->header.size = size; in perf_event__synthesize_thread_map2()
1172 event->thread_map.nr = threads->nr; in perf_event__synthesize_thread_map2()
1175 struct perf_record_thread_map_entry *entry = &event->thread_map.entries[i]; in perf_event__synthesize_thread_map2()
1185 err = process(tool, event, NULL, machine); in perf_event__synthesize_thread_map2()
1187 free(event); in perf_event__synthesize_thread_map2()
1289 struct perf_record_cpu_map *event; in cpu_map_event__new() local
1293 event = cpu_map_data__alloc(map, &size, &type, &max); in cpu_map_event__new()
1294 if (!event) in cpu_map_event__new()
1297 event->header.type = PERF_RECORD_CPU_MAP; in cpu_map_event__new()
1298 event->header.size = size; in cpu_map_event__new()
1299 event->data.type = type; in cpu_map_event__new()
1301 cpu_map_data__synthesize(&event->data, map, type, max); in cpu_map_event__new()
1302 return event; in cpu_map_event__new()
1310 struct perf_record_cpu_map *event; in perf_event__synthesize_cpu_map() local
1313 event = cpu_map_event__new(map); in perf_event__synthesize_cpu_map()
1314 if (!event) in perf_event__synthesize_cpu_map()
1317 err = process(tool, (union perf_event *) event, NULL, machine); in perf_event__synthesize_cpu_map()
1319 free(event); in perf_event__synthesize_cpu_map()
1328 struct perf_record_stat_config *event; in perf_event__synthesize_stat_config() local
1331 size = sizeof(*event); in perf_event__synthesize_stat_config()
1332 size += (PERF_STAT_CONFIG_TERM__MAX * sizeof(event->data[0])); in perf_event__synthesize_stat_config()
1334 event = zalloc(size); in perf_event__synthesize_stat_config()
1335 if (!event) in perf_event__synthesize_stat_config()
1338 event->header.type = PERF_RECORD_STAT_CONFIG; in perf_event__synthesize_stat_config()
1339 event->header.size = size; in perf_event__synthesize_stat_config()
1340 event->nr = PERF_STAT_CONFIG_TERM__MAX; in perf_event__synthesize_stat_config()
1343 event->data[i].tag = PERF_STAT_CONFIG_TERM__##__term; \ in perf_event__synthesize_stat_config()
1344 event->data[i].val = __val; \ in perf_event__synthesize_stat_config()
1355 err = process(tool, (union perf_event *) event, NULL, machine); in perf_event__synthesize_stat_config()
1357 free(event); in perf_event__synthesize_stat_config()
1367 struct perf_record_stat event; in perf_event__synthesize_stat() local
1369 event.header.type = PERF_RECORD_STAT; in perf_event__synthesize_stat()
1370 event.header.size = sizeof(event); in perf_event__synthesize_stat()
1371 event.header.misc = 0; in perf_event__synthesize_stat()
1373 event.id = id; in perf_event__synthesize_stat()
1374 event.cpu = cpu; in perf_event__synthesize_stat()
1375 event.thread = thread; in perf_event__synthesize_stat()
1376 event.val = count->val; in perf_event__synthesize_stat()
1377 event.ena = count->ena; in perf_event__synthesize_stat()
1378 event.run = count->run; in perf_event__synthesize_stat()
1380 return process(tool, (union perf_event *) &event, NULL, machine); in perf_event__synthesize_stat()
1388 struct perf_record_stat_round event; in perf_event__synthesize_stat_round() local
1390 event.header.type = PERF_RECORD_STAT_ROUND; in perf_event__synthesize_stat_round()
1391 event.header.size = sizeof(event); in perf_event__synthesize_stat_round()
1392 event.header.misc = 0; in perf_event__synthesize_stat_round()
1394 event.time = evtime; in perf_event__synthesize_stat_round()
1395 event.type = type; in perf_event__synthesize_stat_round()
1397 return process(tool, (union perf_event *) &event, NULL, machine); in perf_event__synthesize_stat_round()
1528 int perf_event__synthesize_sample(union perf_event *event, u64 type, u64 read_format, in perf_event__synthesize_sample() argument
1539 array = event->sample.array; in perf_event__synthesize_sample()