/* Native host kernel uses -1 as pid index in machine */ #define HOST_KERNEL_ID (-1) #define DEFAULT_GUEST_KERNEL_ID (0)
externconstchar *ref_reloc_sym_names[];
struct vdso_info;
struct machine { struct rb_node rb_node;
pid_t pid;
u16 id_hdr_size; bool comm_exec; bool kptr_restrict_warned; bool single_address_space; char *root_dir; char *mmap_name; char *kallsyms_filename; struct threads threads; struct vdso_info *vdso_info; struct perf_env *env; struct dsos dsos; struct maps *kmaps; struct map *vmlinux_map;
u64 kernel_start; struct {
u64 text_start;
u64 text_end;
} sched, lock, traceiter, trace; /* * The current parallelism level (number of threads that run on CPUs). * This value can be less than 1, or larger than the total number * of CPUs, if events are poorly ordered.
*/ int parallelism;
pid_t *current_tid;
size_t current_tid_sz; union { /* Tool specific area */ void *priv;
u64 db_id;
}; struct machines *machines; bool trampolines_mapped;
};
/* * The main kernel (vmlinux) map
*/ staticinline struct map *machine__kernel_map(struct machine *machine)
{ return machine->vmlinux_map;
}
/* * kernel (the one returned by machine__kernel_map()) plus kernel modules maps
*/ staticinline struct maps *machine__kernel_maps(struct machine *machine)
{ return machine->kmaps;
}
int machine__get_kernel_start(struct machine *machine);
int machine__process_comm_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_exit_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_fork_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_lost_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_lost_samples_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_aux_event(struct machine *machine, union perf_event *event); int machine__process_itrace_start_event(struct machine *machine, union perf_event *event); int machine__process_aux_output_hw_id_event(struct machine *machine, union perf_event *event); int machine__process_switch_event(struct machine *machine, union perf_event *event); int machine__process_namespaces_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_cgroup_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_mmap_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_mmap2_event(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_ksymbol(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_text_poke(struct machine *machine, union perf_event *event, struct perf_sample *sample); int machine__process_event(struct machine *machine, union perf_event *event, struct perf_sample *sample);
/* Make a list of struct thread_list based on threads in the machine. */ int machine__thread_list(struct machine *machine, struct list_head *list); /* Free up the nodes within the thread_list list. */ void thread_list__delete(struct list_head *list);
pid_t machine__get_current_tid(struct machine *machine, int cpu); int machine__set_current_tid(struct machine *machine, int cpu, pid_t pid,
pid_t tid); /* * For use with libtraceevent's tep_set_function_resolver()
*/ char *machine__resolve_kernel_addr(void *vmachine, unsignedlonglong *addrp, char **modp);
int machine__create_extra_kernel_maps(struct machine *machine, struct dso *kernel);
/* Kernel-space maps for symbols that are outside the main kernel map and module maps */ struct extra_kernel_map {
u64 start;
u64 end;
u64 pgoff; char name[KMAP_NAME_LEN];
};
int machine__create_extra_kernel_map(struct machine *machine, struct dso *kernel, struct extra_kernel_map *xm);
int machine__map_x86_64_entry_trampolines(struct machine *machine, struct dso *kernel);
int machine__resolve(struct machine *machine, struct addr_location *al, struct perf_sample *sample);
int machine__hit_all_dsos(struct machine *machine);
#endif/* __PERF_MACHINE_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.29 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.