Lines Matching refs:event

125 static int perf_event__prepare_comm(union perf_event *event, pid_t pid,  in perf_event__prepare_comm()  argument
133 memset(&event->comm, 0, sizeof(event->comm)); in perf_event__prepare_comm()
136 if (perf_event__get_comm_ids(pid, event->comm.comm, in perf_event__prepare_comm()
137 sizeof(event->comm.comm), in perf_event__prepare_comm()
148 event->comm.pid = *tgid; in perf_event__prepare_comm()
149 event->comm.header.type = PERF_RECORD_COMM; in perf_event__prepare_comm()
151 size = strlen(event->comm.comm) + 1; in perf_event__prepare_comm()
153 memset(event->comm.comm + size, 0, machine->id_hdr_size); in perf_event__prepare_comm()
154 event->comm.header.size = (sizeof(event->comm) - in perf_event__prepare_comm()
155 (sizeof(event->comm.comm) - size) + in perf_event__prepare_comm()
157 event->comm.tid = pid; in perf_event__prepare_comm()
163 union perf_event *event, pid_t pid, in perf_event__synthesize_comm() argument
169 if (perf_event__prepare_comm(event, pid, machine, &tgid, &ppid) != 0) in perf_event__synthesize_comm()
172 if (process(tool, event, &synth_sample, machine) != 0) in perf_event__synthesize_comm()
179 union perf_event *event, in perf_event__synthesize_fork() argument
184 memset(&event->fork, 0, sizeof(event->fork) + machine->id_hdr_size); in perf_event__synthesize_fork()
192 event->fork.ppid = ppid; in perf_event__synthesize_fork()
193 event->fork.ptid = ppid; in perf_event__synthesize_fork()
195 event->fork.ppid = tgid; in perf_event__synthesize_fork()
196 event->fork.ptid = tgid; in perf_event__synthesize_fork()
198 event->fork.pid = tgid; in perf_event__synthesize_fork()
199 event->fork.tid = pid; in perf_event__synthesize_fork()
200 event->fork.header.type = PERF_RECORD_FORK; in perf_event__synthesize_fork()
202 event->fork.header.size = (sizeof(event->fork) + machine->id_hdr_size); in perf_event__synthesize_fork()
204 if (process(tool, event, &synth_sample, machine) != 0) in perf_event__synthesize_fork()
211 union perf_event *event, in perf_event__synthesize_mmap_events() argument
236 event->header.type = PERF_RECORD_MMAP2; in perf_event__synthesize_mmap_events()
255 &event->mmap2.start, &event->mmap2.len, prot, in perf_event__synthesize_mmap_events()
256 &event->mmap2.pgoff, &event->mmap2.maj, in perf_event__synthesize_mmap_events()
257 &event->mmap2.min, in perf_event__synthesize_mmap_events()
266 event->mmap2.ino = (u64)ino; in perf_event__synthesize_mmap_events()
272 event->header.misc = PERF_RECORD_MISC_USER; in perf_event__synthesize_mmap_events()
274 event->header.misc = PERF_RECORD_MISC_GUEST_USER; in perf_event__synthesize_mmap_events()
277 event->mmap2.prot = 0; in perf_event__synthesize_mmap_events()
278 event->mmap2.flags = 0; in perf_event__synthesize_mmap_events()
280 event->mmap2.prot |= PROT_READ; in perf_event__synthesize_mmap_events()
282 event->mmap2.prot |= PROT_WRITE; in perf_event__synthesize_mmap_events()
284 event->mmap2.prot |= PROT_EXEC; in perf_event__synthesize_mmap_events()
287 event->mmap2.flags |= MAP_SHARED; in perf_event__synthesize_mmap_events()
289 event->mmap2.flags |= MAP_PRIVATE; in perf_event__synthesize_mmap_events()
295 event->header.misc |= PERF_RECORD_MISC_MMAP_DATA; in perf_event__synthesize_mmap_events()
302 memcpy(event->mmap2.filename, execname, size); in perf_event__synthesize_mmap_events()
304 event->mmap2.len -= event->mmap.start; in perf_event__synthesize_mmap_events()
305 event->mmap2.header.size = (sizeof(event->mmap2) - in perf_event__synthesize_mmap_events()
306 (sizeof(event->mmap2.filename) - size)); in perf_event__synthesize_mmap_events()
307 memset(event->mmap2.filename + size, 0, machine->id_hdr_size); in perf_event__synthesize_mmap_events()
308 event->mmap2.header.size += machine->id_hdr_size; in perf_event__synthesize_mmap_events()
309 event->mmap2.pid = tgid; in perf_event__synthesize_mmap_events()
310 event->mmap2.tid = pid; in perf_event__synthesize_mmap_events()
312 if (process(tool, event, &synth_sample, machine) != 0) { in perf_event__synthesize_mmap_events()
329 union perf_event *event = zalloc((sizeof(event->mmap) + in perf_event__synthesize_modules() local
331 if (event == NULL) { in perf_event__synthesize_modules()
337 event->header.type = PERF_RECORD_MMAP; in perf_event__synthesize_modules()
344 event->header.misc = PERF_RECORD_MISC_KERNEL; in perf_event__synthesize_modules()
346 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL; in perf_event__synthesize_modules()
357 event->mmap.header.type = PERF_RECORD_MMAP; in perf_event__synthesize_modules()
358 event->mmap.header.size = (sizeof(event->mmap) - in perf_event__synthesize_modules()
359 (sizeof(event->mmap.filename) - size)); in perf_event__synthesize_modules()
360 memset(event->mmap.filename + size, 0, machine->id_hdr_size); in perf_event__synthesize_modules()
361 event->mmap.header.size += machine->id_hdr_size; in perf_event__synthesize_modules()
362 event->mmap.start = pos->start; in perf_event__synthesize_modules()
363 event->mmap.len = pos->end - pos->start; in perf_event__synthesize_modules()
364 event->mmap.pid = machine->pid; in perf_event__synthesize_modules()
366 memcpy(event->mmap.filename, pos->dso->long_name, in perf_event__synthesize_modules()
368 if (process(tool, event, &synth_sample, machine) != 0) { in perf_event__synthesize_modules()
374 free(event); in perf_event__synthesize_modules()
620 union perf_event *event; in perf_event__synthesize_kernel_mmap() local
630 event = zalloc((sizeof(event->mmap) + machine->id_hdr_size)); in perf_event__synthesize_kernel_mmap()
631 if (event == NULL) { in perf_event__synthesize_kernel_mmap()
643 event->header.misc = PERF_RECORD_MISC_KERNEL; in perf_event__synthesize_kernel_mmap()
645 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL; in perf_event__synthesize_kernel_mmap()
650 size = snprintf(event->mmap.filename, sizeof(event->mmap.filename), in perf_event__synthesize_kernel_mmap()
653 event->mmap.header.type = PERF_RECORD_MMAP; in perf_event__synthesize_kernel_mmap()
654 event->mmap.header.size = (sizeof(event->mmap) - in perf_event__synthesize_kernel_mmap()
655 (sizeof(event->mmap.filename) - size) + machine->id_hdr_size); in perf_event__synthesize_kernel_mmap()
656 event->mmap.pgoff = kmap->ref_reloc_sym->addr; in perf_event__synthesize_kernel_mmap()
657 event->mmap.start = map->start; in perf_event__synthesize_kernel_mmap()
658 event->mmap.len = map->end - event->mmap.start; in perf_event__synthesize_kernel_mmap()
659 event->mmap.pid = machine->pid; in perf_event__synthesize_kernel_mmap()
661 err = process(tool, event, &synth_sample, machine); in perf_event__synthesize_kernel_mmap()
662 free(event); in perf_event__synthesize_kernel_mmap()
667 size_t perf_event__fprintf_comm(union perf_event *event, FILE *fp) in perf_event__fprintf_comm() argument
671 if (event->header.misc & PERF_RECORD_MISC_COMM_EXEC) in perf_event__fprintf_comm()
676 return fprintf(fp, "%s: %s:%d/%d\n", s, event->comm.comm, event->comm.pid, event->comm.tid); in perf_event__fprintf_comm()
680 union perf_event *event, in perf_event__process_comm() argument
684 return machine__process_comm_event(machine, event, sample); in perf_event__process_comm()
688 union perf_event *event, in perf_event__process_lost() argument
692 return machine__process_lost_event(machine, event, sample); in perf_event__process_lost()
695 size_t perf_event__fprintf_mmap(union perf_event *event, FILE *fp) in perf_event__fprintf_mmap() argument
698 event->mmap.pid, event->mmap.tid, event->mmap.start, in perf_event__fprintf_mmap()
699 event->mmap.len, event->mmap.pgoff, in perf_event__fprintf_mmap()
700 (event->header.misc & PERF_RECORD_MISC_MMAP_DATA) ? 'r' : 'x', in perf_event__fprintf_mmap()
701 event->mmap.filename); in perf_event__fprintf_mmap()
704 size_t perf_event__fprintf_mmap2(union perf_event *event, FILE *fp) in perf_event__fprintf_mmap2() argument
708 event->mmap2.pid, event->mmap2.tid, event->mmap2.start, in perf_event__fprintf_mmap2()
709 event->mmap2.len, event->mmap2.pgoff, event->mmap2.maj, in perf_event__fprintf_mmap2()
710 event->mmap2.min, event->mmap2.ino, in perf_event__fprintf_mmap2()
711 event->mmap2.ino_generation, in perf_event__fprintf_mmap2()
712 (event->mmap2.prot & PROT_READ) ? 'r' : '-', in perf_event__fprintf_mmap2()
713 (event->mmap2.prot & PROT_WRITE) ? 'w' : '-', in perf_event__fprintf_mmap2()
714 (event->mmap2.prot & PROT_EXEC) ? 'x' : '-', in perf_event__fprintf_mmap2()
715 (event->mmap2.flags & MAP_SHARED) ? 's' : 'p', in perf_event__fprintf_mmap2()
716 event->mmap2.filename); in perf_event__fprintf_mmap2()
720 union perf_event *event, in perf_event__process_mmap() argument
724 return machine__process_mmap_event(machine, event, sample); in perf_event__process_mmap()
728 union perf_event *event, in perf_event__process_mmap2() argument
732 return machine__process_mmap2_event(machine, event, sample); in perf_event__process_mmap2()
735 size_t perf_event__fprintf_task(union perf_event *event, FILE *fp) in perf_event__fprintf_task() argument
738 event->fork.pid, event->fork.tid, in perf_event__fprintf_task()
739 event->fork.ppid, event->fork.ptid); in perf_event__fprintf_task()
743 union perf_event *event, in perf_event__process_fork() argument
747 return machine__process_fork_event(machine, event, sample); in perf_event__process_fork()
751 union perf_event *event, in perf_event__process_exit() argument
755 return machine__process_exit_event(machine, event, sample); in perf_event__process_exit()
758 size_t perf_event__fprintf(union perf_event *event, FILE *fp) in perf_event__fprintf() argument
761 perf_event__name(event->header.type)); in perf_event__fprintf()
763 switch (event->header.type) { in perf_event__fprintf()
765 ret += perf_event__fprintf_comm(event, fp); in perf_event__fprintf()
769 ret += perf_event__fprintf_task(event, fp); in perf_event__fprintf()
772 ret += perf_event__fprintf_mmap(event, fp); in perf_event__fprintf()
775 ret += perf_event__fprintf_mmap2(event, fp); in perf_event__fprintf()
785 union perf_event *event, in perf_event__process() argument
789 return machine__process_event(machine, event, sample); in perf_event__process()
880 int perf_event__preprocess_sample(const union perf_event *event, in perf_event__preprocess_sample() argument
885 u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; in perf_event__preprocess_sample()
961 void perf_event__preprocess_sample_addr(union perf_event *event, in perf_event__preprocess_sample_addr() argument
966 u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; in perf_event__preprocess_sample_addr()