Lines Matching refs:event

134 static int perf_event__prepare_comm(union perf_event *event, pid_t pid,  in perf_event__prepare_comm()  argument
142 memset(&event->comm, 0, sizeof(event->comm)); in perf_event__prepare_comm()
145 if (perf_event__get_comm_ids(pid, event->comm.comm, in perf_event__prepare_comm()
146 sizeof(event->comm.comm), in perf_event__prepare_comm()
157 event->comm.pid = *tgid; in perf_event__prepare_comm()
158 event->comm.header.type = PERF_RECORD_COMM; in perf_event__prepare_comm()
160 size = strlen(event->comm.comm) + 1; in perf_event__prepare_comm()
162 memset(event->comm.comm + size, 0, machine->id_hdr_size); in perf_event__prepare_comm()
163 event->comm.header.size = (sizeof(event->comm) - in perf_event__prepare_comm()
164 (sizeof(event->comm.comm) - size) + in perf_event__prepare_comm()
166 event->comm.tid = pid; in perf_event__prepare_comm()
172 union perf_event *event, pid_t pid, in perf_event__synthesize_comm() argument
178 if (perf_event__prepare_comm(event, pid, machine, &tgid, &ppid) != 0) in perf_event__synthesize_comm()
181 if (process(tool, event, &synth_sample, machine) != 0) in perf_event__synthesize_comm()
188 union perf_event *event, in perf_event__synthesize_fork() argument
193 memset(&event->fork, 0, sizeof(event->fork) + machine->id_hdr_size); in perf_event__synthesize_fork()
201 event->fork.ppid = ppid; in perf_event__synthesize_fork()
202 event->fork.ptid = ppid; in perf_event__synthesize_fork()
204 event->fork.ppid = tgid; in perf_event__synthesize_fork()
205 event->fork.ptid = tgid; in perf_event__synthesize_fork()
207 event->fork.pid = tgid; in perf_event__synthesize_fork()
208 event->fork.tid = pid; in perf_event__synthesize_fork()
209 event->fork.header.type = PERF_RECORD_FORK; in perf_event__synthesize_fork()
211 event->fork.header.size = (sizeof(event->fork) + machine->id_hdr_size); in perf_event__synthesize_fork()
213 if (process(tool, event, &synth_sample, machine) != 0) in perf_event__synthesize_fork()
220 union perf_event *event, in perf_event__synthesize_mmap_events() argument
249 event->header.type = PERF_RECORD_MMAP2; in perf_event__synthesize_mmap_events()
278 &event->mmap2.start, &event->mmap2.len, prot, in perf_event__synthesize_mmap_events()
279 &event->mmap2.pgoff, &event->mmap2.maj, in perf_event__synthesize_mmap_events()
280 &event->mmap2.min, in perf_event__synthesize_mmap_events()
289 event->mmap2.ino = (u64)ino; in perf_event__synthesize_mmap_events()
295 event->header.misc = PERF_RECORD_MISC_USER; in perf_event__synthesize_mmap_events()
297 event->header.misc = PERF_RECORD_MISC_GUEST_USER; in perf_event__synthesize_mmap_events()
300 event->mmap2.prot = 0; in perf_event__synthesize_mmap_events()
301 event->mmap2.flags = 0; in perf_event__synthesize_mmap_events()
303 event->mmap2.prot |= PROT_READ; in perf_event__synthesize_mmap_events()
305 event->mmap2.prot |= PROT_WRITE; in perf_event__synthesize_mmap_events()
307 event->mmap2.prot |= PROT_EXEC; in perf_event__synthesize_mmap_events()
310 event->mmap2.flags |= MAP_SHARED; in perf_event__synthesize_mmap_events()
312 event->mmap2.flags |= MAP_PRIVATE; in perf_event__synthesize_mmap_events()
318 event->header.misc |= PERF_RECORD_MISC_MMAP_DATA; in perf_event__synthesize_mmap_events()
323 event->header.misc |= PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT; in perf_event__synthesize_mmap_events()
329 memcpy(event->mmap2.filename, execname, size); in perf_event__synthesize_mmap_events()
331 event->mmap2.len -= event->mmap.start; in perf_event__synthesize_mmap_events()
332 event->mmap2.header.size = (sizeof(event->mmap2) - in perf_event__synthesize_mmap_events()
333 (sizeof(event->mmap2.filename) - size)); in perf_event__synthesize_mmap_events()
334 memset(event->mmap2.filename + size, 0, machine->id_hdr_size); in perf_event__synthesize_mmap_events()
335 event->mmap2.header.size += machine->id_hdr_size; in perf_event__synthesize_mmap_events()
336 event->mmap2.pid = tgid; in perf_event__synthesize_mmap_events()
337 event->mmap2.tid = pid; in perf_event__synthesize_mmap_events()
339 if (process(tool, event, &synth_sample, machine) != 0) { in perf_event__synthesize_mmap_events()
360 union perf_event *event = zalloc((sizeof(event->mmap) + in perf_event__synthesize_modules() local
362 if (event == NULL) { in perf_event__synthesize_modules()
368 event->header.type = PERF_RECORD_MMAP; in perf_event__synthesize_modules()
375 event->header.misc = PERF_RECORD_MISC_KERNEL; in perf_event__synthesize_modules()
377 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL; in perf_event__synthesize_modules()
386 event->mmap.header.type = PERF_RECORD_MMAP; in perf_event__synthesize_modules()
387 event->mmap.header.size = (sizeof(event->mmap) - in perf_event__synthesize_modules()
388 (sizeof(event->mmap.filename) - size)); in perf_event__synthesize_modules()
389 memset(event->mmap.filename + size, 0, machine->id_hdr_size); in perf_event__synthesize_modules()
390 event->mmap.header.size += machine->id_hdr_size; in perf_event__synthesize_modules()
391 event->mmap.start = pos->start; in perf_event__synthesize_modules()
392 event->mmap.len = pos->end - pos->start; in perf_event__synthesize_modules()
393 event->mmap.pid = machine->pid; in perf_event__synthesize_modules()
395 memcpy(event->mmap.filename, pos->dso->long_name, in perf_event__synthesize_modules()
397 if (process(tool, event, &synth_sample, machine) != 0) { in perf_event__synthesize_modules()
403 free(event); in perf_event__synthesize_modules()
656 union perf_event *event; in perf_event__synthesize_kernel_mmap() local
666 event = zalloc((sizeof(event->mmap) + machine->id_hdr_size)); in perf_event__synthesize_kernel_mmap()
667 if (event == NULL) { in perf_event__synthesize_kernel_mmap()
679 event->header.misc = PERF_RECORD_MISC_KERNEL; in perf_event__synthesize_kernel_mmap()
681 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL; in perf_event__synthesize_kernel_mmap()
685 size = snprintf(event->mmap.filename, sizeof(event->mmap.filename), in perf_event__synthesize_kernel_mmap()
688 event->mmap.header.type = PERF_RECORD_MMAP; in perf_event__synthesize_kernel_mmap()
689 event->mmap.header.size = (sizeof(event->mmap) - in perf_event__synthesize_kernel_mmap()
690 (sizeof(event->mmap.filename) - size) + machine->id_hdr_size); in perf_event__synthesize_kernel_mmap()
691 event->mmap.pgoff = kmap->ref_reloc_sym->addr; in perf_event__synthesize_kernel_mmap()
692 event->mmap.start = map->start; in perf_event__synthesize_kernel_mmap()
693 event->mmap.len = map->end - event->mmap.start; in perf_event__synthesize_kernel_mmap()
694 event->mmap.pid = machine->pid; in perf_event__synthesize_kernel_mmap()
696 err = process(tool, event, &synth_sample, machine); in perf_event__synthesize_kernel_mmap()
697 free(event); in perf_event__synthesize_kernel_mmap()
702 size_t perf_event__fprintf_comm(union perf_event *event, FILE *fp) in perf_event__fprintf_comm() argument
706 if (event->header.misc & PERF_RECORD_MISC_COMM_EXEC) in perf_event__fprintf_comm()
711 return fprintf(fp, "%s: %s:%d/%d\n", s, event->comm.comm, event->comm.pid, event->comm.tid); in perf_event__fprintf_comm()
715 union perf_event *event, in perf_event__process_comm() argument
719 return machine__process_comm_event(machine, event, sample); in perf_event__process_comm()
723 union perf_event *event, in perf_event__process_lost() argument
727 return machine__process_lost_event(machine, event, sample); in perf_event__process_lost()
731 union perf_event *event, in perf_event__process_aux() argument
735 return machine__process_aux_event(machine, event); in perf_event__process_aux()
739 union perf_event *event, in perf_event__process_itrace_start() argument
743 return machine__process_itrace_start_event(machine, event); in perf_event__process_itrace_start()
747 union perf_event *event, in perf_event__process_lost_samples() argument
751 return machine__process_lost_samples_event(machine, event, sample); in perf_event__process_lost_samples()
755 union perf_event *event, in perf_event__process_switch() argument
759 return machine__process_switch_event(machine, event); in perf_event__process_switch()
762 size_t perf_event__fprintf_mmap(union perf_event *event, FILE *fp) in perf_event__fprintf_mmap() argument
765 event->mmap.pid, event->mmap.tid, event->mmap.start, in perf_event__fprintf_mmap()
766 event->mmap.len, event->mmap.pgoff, in perf_event__fprintf_mmap()
767 (event->header.misc & PERF_RECORD_MISC_MMAP_DATA) ? 'r' : 'x', in perf_event__fprintf_mmap()
768 event->mmap.filename); in perf_event__fprintf_mmap()
771 size_t perf_event__fprintf_mmap2(union perf_event *event, FILE *fp) in perf_event__fprintf_mmap2() argument
775 event->mmap2.pid, event->mmap2.tid, event->mmap2.start, in perf_event__fprintf_mmap2()
776 event->mmap2.len, event->mmap2.pgoff, event->mmap2.maj, in perf_event__fprintf_mmap2()
777 event->mmap2.min, event->mmap2.ino, in perf_event__fprintf_mmap2()
778 event->mmap2.ino_generation, in perf_event__fprintf_mmap2()
779 (event->mmap2.prot & PROT_READ) ? 'r' : '-', in perf_event__fprintf_mmap2()
780 (event->mmap2.prot & PROT_WRITE) ? 'w' : '-', in perf_event__fprintf_mmap2()
781 (event->mmap2.prot & PROT_EXEC) ? 'x' : '-', in perf_event__fprintf_mmap2()
782 (event->mmap2.flags & MAP_SHARED) ? 's' : 'p', in perf_event__fprintf_mmap2()
783 event->mmap2.filename); in perf_event__fprintf_mmap2()
787 union perf_event *event, in perf_event__process_mmap() argument
791 return machine__process_mmap_event(machine, event, sample); in perf_event__process_mmap()
795 union perf_event *event, in perf_event__process_mmap2() argument
799 return machine__process_mmap2_event(machine, event, sample); in perf_event__process_mmap2()
802 size_t perf_event__fprintf_task(union perf_event *event, FILE *fp) in perf_event__fprintf_task() argument
805 event->fork.pid, event->fork.tid, in perf_event__fprintf_task()
806 event->fork.ppid, event->fork.ptid); in perf_event__fprintf_task()
810 union perf_event *event, in perf_event__process_fork() argument
814 return machine__process_fork_event(machine, event, sample); in perf_event__process_fork()
818 union perf_event *event, in perf_event__process_exit() argument
822 return machine__process_exit_event(machine, event, sample); in perf_event__process_exit()
825 size_t perf_event__fprintf_aux(union perf_event *event, FILE *fp) in perf_event__fprintf_aux() argument
828 event->aux.aux_offset, event->aux.aux_size, in perf_event__fprintf_aux()
829 event->aux.flags, in perf_event__fprintf_aux()
830 event->aux.flags & PERF_AUX_FLAG_TRUNCATED ? "T" : "", in perf_event__fprintf_aux()
831 event->aux.flags & PERF_AUX_FLAG_OVERWRITE ? "O" : ""); in perf_event__fprintf_aux()
834 size_t perf_event__fprintf_itrace_start(union perf_event *event, FILE *fp) in perf_event__fprintf_itrace_start() argument
837 event->itrace_start.pid, event->itrace_start.tid); in perf_event__fprintf_itrace_start()
840 size_t perf_event__fprintf_switch(union perf_event *event, FILE *fp) in perf_event__fprintf_switch() argument
842 bool out = event->header.misc & PERF_RECORD_MISC_SWITCH_OUT; in perf_event__fprintf_switch()
845 if (event->header.type == PERF_RECORD_SWITCH) in perf_event__fprintf_switch()
850 event->context_switch.next_prev_pid, in perf_event__fprintf_switch()
851 event->context_switch.next_prev_tid); in perf_event__fprintf_switch()
854 size_t perf_event__fprintf(union perf_event *event, FILE *fp) in perf_event__fprintf() argument
857 perf_event__name(event->header.type)); in perf_event__fprintf()
859 switch (event->header.type) { in perf_event__fprintf()
861 ret += perf_event__fprintf_comm(event, fp); in perf_event__fprintf()
865 ret += perf_event__fprintf_task(event, fp); in perf_event__fprintf()
868 ret += perf_event__fprintf_mmap(event, fp); in perf_event__fprintf()
871 ret += perf_event__fprintf_mmap2(event, fp); in perf_event__fprintf()
874 ret += perf_event__fprintf_aux(event, fp); in perf_event__fprintf()
877 ret += perf_event__fprintf_itrace_start(event, fp); in perf_event__fprintf()
881 ret += perf_event__fprintf_switch(event, fp); in perf_event__fprintf()
891 union perf_event *event, in perf_event__process() argument
895 return machine__process_event(machine, event, sample); in perf_event__process()
990 int perf_event__preprocess_sample(const union perf_event *event, in perf_event__preprocess_sample() argument
995 u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; in perf_event__preprocess_sample()
1090 void perf_event__preprocess_sample_addr(union perf_event *event, in perf_event__preprocess_sample_addr() argument
1095 u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; in perf_event__preprocess_sample_addr()