perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type'
Rename enum dso_kernel_type to enum dso_space_type, which seems like better fit. Committer notes: This is used with 'struct dso'->kernel, which once was a boolean, so DSO_SPACE__USER is zero, !zero means some sort of kernel space, be it the host kernel space or a guest kernel space. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
ceafdd664c
commit
1c695c88a1
|
@ -1265,7 +1265,7 @@ struct dso *dso__new_id(const char *name, struct dso_id *id)
|
||||||
dso->has_build_id = 0;
|
dso->has_build_id = 0;
|
||||||
dso->has_srcline = 1;
|
dso->has_srcline = 1;
|
||||||
dso->a2l_fails = 1;
|
dso->a2l_fails = 1;
|
||||||
dso->kernel = DSO_TYPE_USER;
|
dso->kernel = DSO_SPACE__USER;
|
||||||
dso->needs_swap = DSO_SWAP__UNSET;
|
dso->needs_swap = DSO_SWAP__UNSET;
|
||||||
dso->comp = COMP_ID__NONE;
|
dso->comp = COMP_ID__NONE;
|
||||||
RB_CLEAR_NODE(&dso->rb_node);
|
RB_CLEAR_NODE(&dso->rb_node);
|
||||||
|
|
|
@ -46,10 +46,10 @@ enum dso_binary_type {
|
||||||
DSO_BINARY_TYPE__NOT_FOUND,
|
DSO_BINARY_TYPE__NOT_FOUND,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum dso_kernel_type {
|
enum dso_space_type {
|
||||||
DSO_TYPE_USER = 0,
|
DSO_SPACE__USER = 0,
|
||||||
DSO_TYPE_KERNEL,
|
DSO_SPACE__KERNEL,
|
||||||
DSO_TYPE_GUEST_KERNEL
|
DSO_SPACE__KERNEL_GUEST
|
||||||
};
|
};
|
||||||
|
|
||||||
enum dso_swap_type {
|
enum dso_swap_type {
|
||||||
|
@ -160,7 +160,7 @@ struct dso {
|
||||||
void *a2l;
|
void *a2l;
|
||||||
char *symsrc_filename;
|
char *symsrc_filename;
|
||||||
unsigned int a2l_fails;
|
unsigned int a2l_fails;
|
||||||
enum dso_kernel_type kernel;
|
enum dso_space_type kernel;
|
||||||
enum dso_swap_type needs_swap;
|
enum dso_swap_type needs_swap;
|
||||||
enum dso_binary_type symtab_type;
|
enum dso_binary_type symtab_type;
|
||||||
enum dso_binary_type binary_type;
|
enum dso_binary_type binary_type;
|
||||||
|
|
|
@ -2056,7 +2056,7 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
|
||||||
struct machine *machine;
|
struct machine *machine;
|
||||||
u16 cpumode;
|
u16 cpumode;
|
||||||
struct dso *dso;
|
struct dso *dso;
|
||||||
enum dso_kernel_type dso_type;
|
enum dso_space_type dso_space;
|
||||||
|
|
||||||
machine = perf_session__findnew_machine(session, bev->pid);
|
machine = perf_session__findnew_machine(session, bev->pid);
|
||||||
if (!machine)
|
if (!machine)
|
||||||
|
@ -2066,14 +2066,14 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
|
||||||
|
|
||||||
switch (cpumode) {
|
switch (cpumode) {
|
||||||
case PERF_RECORD_MISC_KERNEL:
|
case PERF_RECORD_MISC_KERNEL:
|
||||||
dso_type = DSO_TYPE_KERNEL;
|
dso_space = DSO_SPACE__KERNEL;
|
||||||
break;
|
break;
|
||||||
case PERF_RECORD_MISC_GUEST_KERNEL:
|
case PERF_RECORD_MISC_GUEST_KERNEL:
|
||||||
dso_type = DSO_TYPE_GUEST_KERNEL;
|
dso_space = DSO_SPACE__KERNEL_GUEST;
|
||||||
break;
|
break;
|
||||||
case PERF_RECORD_MISC_USER:
|
case PERF_RECORD_MISC_USER:
|
||||||
case PERF_RECORD_MISC_GUEST_USER:
|
case PERF_RECORD_MISC_GUEST_USER:
|
||||||
dso_type = DSO_TYPE_USER;
|
dso_space = DSO_SPACE__USER;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -2085,13 +2085,13 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
|
||||||
|
|
||||||
dso__set_build_id(dso, &bev->build_id);
|
dso__set_build_id(dso, &bev->build_id);
|
||||||
|
|
||||||
if (dso_type != DSO_TYPE_USER) {
|
if (dso_space != DSO_SPACE__USER) {
|
||||||
struct kmod_path m = { .name = NULL, };
|
struct kmod_path m = { .name = NULL, };
|
||||||
|
|
||||||
if (!kmod_path__parse_name(&m, filename) && m.kmod)
|
if (!kmod_path__parse_name(&m, filename) && m.kmod)
|
||||||
dso__set_module_info(dso, &m, machine);
|
dso__set_module_info(dso, &m, machine);
|
||||||
else
|
else
|
||||||
dso->kernel = dso_type;
|
dso->kernel = dso_space;
|
||||||
|
|
||||||
free(m.name);
|
free(m.name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -703,7 +703,7 @@ static struct dso *machine__findnew_module_dso(struct machine *machine,
|
||||||
|
|
||||||
dso__set_module_info(dso, m, machine);
|
dso__set_module_info(dso, m, machine);
|
||||||
dso__set_long_name(dso, strdup(filename), true);
|
dso__set_long_name(dso, strdup(filename), true);
|
||||||
dso->kernel = DSO_TYPE_KERNEL;
|
dso->kernel = DSO_SPACE__KERNEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
dso__get(dso);
|
dso__get(dso);
|
||||||
|
@ -753,7 +753,7 @@ static int machine__process_ksymbol_register(struct machine *machine,
|
||||||
struct dso *dso = dso__new(event->ksymbol.name);
|
struct dso *dso = dso__new(event->ksymbol.name);
|
||||||
|
|
||||||
if (dso) {
|
if (dso) {
|
||||||
dso->kernel = DSO_TYPE_KERNEL;
|
dso->kernel = DSO_SPACE__KERNEL;
|
||||||
map = map__new2(0, dso);
|
map = map__new2(0, dso);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -971,14 +971,14 @@ static struct dso *machine__get_kernel(struct machine *machine)
|
||||||
vmlinux_name = symbol_conf.vmlinux_name;
|
vmlinux_name = symbol_conf.vmlinux_name;
|
||||||
|
|
||||||
kernel = machine__findnew_kernel(machine, vmlinux_name,
|
kernel = machine__findnew_kernel(machine, vmlinux_name,
|
||||||
"[kernel]", DSO_TYPE_KERNEL);
|
"[kernel]", DSO_SPACE__KERNEL);
|
||||||
} else {
|
} else {
|
||||||
if (symbol_conf.default_guest_vmlinux_name)
|
if (symbol_conf.default_guest_vmlinux_name)
|
||||||
vmlinux_name = symbol_conf.default_guest_vmlinux_name;
|
vmlinux_name = symbol_conf.default_guest_vmlinux_name;
|
||||||
|
|
||||||
kernel = machine__findnew_kernel(machine, vmlinux_name,
|
kernel = machine__findnew_kernel(machine, vmlinux_name,
|
||||||
"[guest.kernel]",
|
"[guest.kernel]",
|
||||||
DSO_TYPE_GUEST_KERNEL);
|
DSO_SPACE__KERNEL_GUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kernel != NULL && (!kernel->has_build_id))
|
if (kernel != NULL && (!kernel->has_build_id))
|
||||||
|
@ -1606,7 +1606,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
|
||||||
union perf_event *event)
|
union perf_event *event)
|
||||||
{
|
{
|
||||||
struct map *map;
|
struct map *map;
|
||||||
enum dso_kernel_type kernel_type;
|
enum dso_space_type dso_space;
|
||||||
bool is_kernel_mmap;
|
bool is_kernel_mmap;
|
||||||
|
|
||||||
/* If we have maps from kcore then we do not need or want any others */
|
/* If we have maps from kcore then we do not need or want any others */
|
||||||
|
@ -1614,9 +1614,9 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (machine__is_host(machine))
|
if (machine__is_host(machine))
|
||||||
kernel_type = DSO_TYPE_KERNEL;
|
dso_space = DSO_SPACE__KERNEL;
|
||||||
else
|
else
|
||||||
kernel_type = DSO_TYPE_GUEST_KERNEL;
|
dso_space = DSO_SPACE__KERNEL_GUEST;
|
||||||
|
|
||||||
is_kernel_mmap = memcmp(event->mmap.filename,
|
is_kernel_mmap = memcmp(event->mmap.filename,
|
||||||
machine->mmap_name,
|
machine->mmap_name,
|
||||||
|
@ -1676,7 +1676,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
|
||||||
if (kernel == NULL)
|
if (kernel == NULL)
|
||||||
goto out_problem;
|
goto out_problem;
|
||||||
|
|
||||||
kernel->kernel = kernel_type;
|
kernel->kernel = dso_space;
|
||||||
if (__machine__create_kernel_maps(machine, kernel) < 0) {
|
if (__machine__create_kernel_maps(machine, kernel) < 0) {
|
||||||
dso__put(kernel);
|
dso__put(kernel);
|
||||||
goto out_problem;
|
goto out_problem;
|
||||||
|
|
|
@ -486,7 +486,7 @@ u64 map__rip_2objdump(struct map *map, u64 rip)
|
||||||
* kernel modules also have DSO_TYPE_USER in dso->kernel,
|
* kernel modules also have DSO_TYPE_USER in dso->kernel,
|
||||||
* but all kernel modules are ET_REL, so won't get here.
|
* but all kernel modules are ET_REL, so won't get here.
|
||||||
*/
|
*/
|
||||||
if (map->dso->kernel == DSO_TYPE_USER)
|
if (map->dso->kernel == DSO_SPACE__USER)
|
||||||
return rip + map->dso->text_offset;
|
return rip + map->dso->text_offset;
|
||||||
|
|
||||||
return map->unmap_ip(map, rip) - map->reloc;
|
return map->unmap_ip(map, rip) - map->reloc;
|
||||||
|
@ -516,7 +516,7 @@ u64 map__objdump_2mem(struct map *map, u64 ip)
|
||||||
* kernel modules also have DSO_TYPE_USER in dso->kernel,
|
* kernel modules also have DSO_TYPE_USER in dso->kernel,
|
||||||
* but all kernel modules are ET_REL, so won't get here.
|
* but all kernel modules are ET_REL, so won't get here.
|
||||||
*/
|
*/
|
||||||
if (map->dso->kernel == DSO_TYPE_USER)
|
if (map->dso->kernel == DSO_SPACE__USER)
|
||||||
return map->unmap_ip(map, ip - map->dso->text_offset);
|
return map->unmap_ip(map, ip - map->dso->text_offset);
|
||||||
|
|
||||||
return ip + map->reloc;
|
return ip + map->reloc;
|
||||||
|
|
|
@ -789,7 +789,7 @@ int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
|
||||||
if (ss->opdshdr.sh_type != SHT_PROGBITS)
|
if (ss->opdshdr.sh_type != SHT_PROGBITS)
|
||||||
ss->opdsec = NULL;
|
ss->opdsec = NULL;
|
||||||
|
|
||||||
if (dso->kernel == DSO_TYPE_USER)
|
if (dso->kernel == DSO_SPACE__USER)
|
||||||
ss->adjust_symbols = true;
|
ss->adjust_symbols = true;
|
||||||
else
|
else
|
||||||
ss->adjust_symbols = elf__needs_adjust_symbols(ehdr);
|
ss->adjust_symbols = elf__needs_adjust_symbols(ehdr);
|
||||||
|
|
|
@ -808,7 +808,7 @@ static int maps__split_kallsyms(struct maps *kmaps, struct dso *dso, u64 delta,
|
||||||
|
|
||||||
if (strcmp(curr_map->dso->short_name, module)) {
|
if (strcmp(curr_map->dso->short_name, module)) {
|
||||||
if (curr_map != initial_map &&
|
if (curr_map != initial_map &&
|
||||||
dso->kernel == DSO_TYPE_GUEST_KERNEL &&
|
dso->kernel == DSO_SPACE__KERNEL_GUEST &&
|
||||||
machine__is_default_guest(machine)) {
|
machine__is_default_guest(machine)) {
|
||||||
/*
|
/*
|
||||||
* We assume all symbols of a module are
|
* We assume all symbols of a module are
|
||||||
|
@ -865,7 +865,7 @@ static int maps__split_kallsyms(struct maps *kmaps, struct dso *dso, u64 delta,
|
||||||
goto add_symbol;
|
goto add_symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dso->kernel == DSO_TYPE_GUEST_KERNEL)
|
if (dso->kernel == DSO_SPACE__KERNEL_GUEST)
|
||||||
snprintf(dso_name, sizeof(dso_name),
|
snprintf(dso_name, sizeof(dso_name),
|
||||||
"[guest.kernel].%d",
|
"[guest.kernel].%d",
|
||||||
kernel_range++);
|
kernel_range++);
|
||||||
|
@ -909,7 +909,7 @@ discard_symbol:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curr_map != initial_map &&
|
if (curr_map != initial_map &&
|
||||||
dso->kernel == DSO_TYPE_GUEST_KERNEL &&
|
dso->kernel == DSO_SPACE__KERNEL_GUEST &&
|
||||||
machine__is_default_guest(kmaps->machine)) {
|
machine__is_default_guest(kmaps->machine)) {
|
||||||
dso__set_loaded(curr_map->dso);
|
dso__set_loaded(curr_map->dso);
|
||||||
}
|
}
|
||||||
|
@ -1387,7 +1387,7 @@ static int dso__load_kcore(struct dso *dso, struct map *map,
|
||||||
* Set the data type and long name so that kcore can be read via
|
* Set the data type and long name so that kcore can be read via
|
||||||
* dso__data_read_addr().
|
* dso__data_read_addr().
|
||||||
*/
|
*/
|
||||||
if (dso->kernel == DSO_TYPE_GUEST_KERNEL)
|
if (dso->kernel == DSO_SPACE__KERNEL_GUEST)
|
||||||
dso->binary_type = DSO_BINARY_TYPE__GUEST_KCORE;
|
dso->binary_type = DSO_BINARY_TYPE__GUEST_KCORE;
|
||||||
else
|
else
|
||||||
dso->binary_type = DSO_BINARY_TYPE__KCORE;
|
dso->binary_type = DSO_BINARY_TYPE__KCORE;
|
||||||
|
@ -1451,7 +1451,7 @@ int __dso__load_kallsyms(struct dso *dso, const char *filename,
|
||||||
symbols__fixup_end(&dso->symbols);
|
symbols__fixup_end(&dso->symbols);
|
||||||
symbols__fixup_duplicate(&dso->symbols);
|
symbols__fixup_duplicate(&dso->symbols);
|
||||||
|
|
||||||
if (dso->kernel == DSO_TYPE_GUEST_KERNEL)
|
if (dso->kernel == DSO_SPACE__KERNEL_GUEST)
|
||||||
dso->symtab_type = DSO_BINARY_TYPE__GUEST_KALLSYMS;
|
dso->symtab_type = DSO_BINARY_TYPE__GUEST_KALLSYMS;
|
||||||
else
|
else
|
||||||
dso->symtab_type = DSO_BINARY_TYPE__KALLSYMS;
|
dso->symtab_type = DSO_BINARY_TYPE__KALLSYMS;
|
||||||
|
@ -1537,17 +1537,17 @@ static bool dso__is_compatible_symtab_type(struct dso *dso, bool kmod,
|
||||||
case DSO_BINARY_TYPE__MIXEDUP_UBUNTU_DEBUGINFO:
|
case DSO_BINARY_TYPE__MIXEDUP_UBUNTU_DEBUGINFO:
|
||||||
case DSO_BINARY_TYPE__BUILDID_DEBUGINFO:
|
case DSO_BINARY_TYPE__BUILDID_DEBUGINFO:
|
||||||
case DSO_BINARY_TYPE__OPENEMBEDDED_DEBUGINFO:
|
case DSO_BINARY_TYPE__OPENEMBEDDED_DEBUGINFO:
|
||||||
return !kmod && dso->kernel == DSO_TYPE_USER;
|
return !kmod && dso->kernel == DSO_SPACE__USER;
|
||||||
|
|
||||||
case DSO_BINARY_TYPE__KALLSYMS:
|
case DSO_BINARY_TYPE__KALLSYMS:
|
||||||
case DSO_BINARY_TYPE__VMLINUX:
|
case DSO_BINARY_TYPE__VMLINUX:
|
||||||
case DSO_BINARY_TYPE__KCORE:
|
case DSO_BINARY_TYPE__KCORE:
|
||||||
return dso->kernel == DSO_TYPE_KERNEL;
|
return dso->kernel == DSO_SPACE__KERNEL;
|
||||||
|
|
||||||
case DSO_BINARY_TYPE__GUEST_KALLSYMS:
|
case DSO_BINARY_TYPE__GUEST_KALLSYMS:
|
||||||
case DSO_BINARY_TYPE__GUEST_VMLINUX:
|
case DSO_BINARY_TYPE__GUEST_VMLINUX:
|
||||||
case DSO_BINARY_TYPE__GUEST_KCORE:
|
case DSO_BINARY_TYPE__GUEST_KCORE:
|
||||||
return dso->kernel == DSO_TYPE_GUEST_KERNEL;
|
return dso->kernel == DSO_SPACE__KERNEL_GUEST;
|
||||||
|
|
||||||
case DSO_BINARY_TYPE__GUEST_KMODULE:
|
case DSO_BINARY_TYPE__GUEST_KMODULE:
|
||||||
case DSO_BINARY_TYPE__GUEST_KMODULE_COMP:
|
case DSO_BINARY_TYPE__GUEST_KMODULE_COMP:
|
||||||
|
@ -1650,9 +1650,9 @@ int dso__load(struct dso *dso, struct map *map)
|
||||||
dso->symtab_type == DSO_BINARY_TYPE__GUEST_KMODULE_COMP;
|
dso->symtab_type == DSO_BINARY_TYPE__GUEST_KMODULE_COMP;
|
||||||
|
|
||||||
if (dso->kernel && !kmod) {
|
if (dso->kernel && !kmod) {
|
||||||
if (dso->kernel == DSO_TYPE_KERNEL)
|
if (dso->kernel == DSO_SPACE__KERNEL)
|
||||||
ret = dso__load_kernel_sym(dso, map);
|
ret = dso__load_kernel_sym(dso, map);
|
||||||
else if (dso->kernel == DSO_TYPE_GUEST_KERNEL)
|
else if (dso->kernel == DSO_SPACE__KERNEL_GUEST)
|
||||||
ret = dso__load_guest_kernel_sym(dso, map);
|
ret = dso__load_guest_kernel_sym(dso, map);
|
||||||
|
|
||||||
machine = map__kmaps(map)->machine;
|
machine = map__kmaps(map)->machine;
|
||||||
|
@ -1882,7 +1882,7 @@ int dso__load_vmlinux(struct dso *dso, struct map *map,
|
||||||
else
|
else
|
||||||
symbol__join_symfs(symfs_vmlinux, vmlinux);
|
symbol__join_symfs(symfs_vmlinux, vmlinux);
|
||||||
|
|
||||||
if (dso->kernel == DSO_TYPE_GUEST_KERNEL)
|
if (dso->kernel == DSO_SPACE__KERNEL_GUEST)
|
||||||
symtab_type = DSO_BINARY_TYPE__GUEST_VMLINUX;
|
symtab_type = DSO_BINARY_TYPE__GUEST_VMLINUX;
|
||||||
else
|
else
|
||||||
symtab_type = DSO_BINARY_TYPE__VMLINUX;
|
symtab_type = DSO_BINARY_TYPE__VMLINUX;
|
||||||
|
@ -1894,7 +1894,7 @@ int dso__load_vmlinux(struct dso *dso, struct map *map,
|
||||||
symsrc__destroy(&ss);
|
symsrc__destroy(&ss);
|
||||||
|
|
||||||
if (err > 0) {
|
if (err > 0) {
|
||||||
if (dso->kernel == DSO_TYPE_GUEST_KERNEL)
|
if (dso->kernel == DSO_SPACE__KERNEL_GUEST)
|
||||||
dso->binary_type = DSO_BINARY_TYPE__GUEST_VMLINUX;
|
dso->binary_type = DSO_BINARY_TYPE__GUEST_VMLINUX;
|
||||||
else
|
else
|
||||||
dso->binary_type = DSO_BINARY_TYPE__VMLINUX;
|
dso->binary_type = DSO_BINARY_TYPE__VMLINUX;
|
||||||
|
|
Loading…
Reference in New Issue