Dealing with the kernel and kernel module samples. More...
#include "opd_kernel.h"#include "opd_proc.h"#include "opd_image.h"#include "opd_mapping.h"#include "opd_printf.h"#include "opd_24_stats.h"#include "oprofiled.h"#include "op_fileio.h"#include "op_config_24.h"#include "op_libiberty.h"#include "p_module.h"#include <string.h>#include <stdlib.h>#include <errno.h>
Classes | |
| struct | opd_module |
Functions | |
| void | opd_init_kernel_image (void) |
| opd_init_kernel_image - initialise the kernel image | |
| void | opd_parse_kernel_range (char const *arg) |
| opd_parse_kernel_range - parse the kernel range values | |
| void | opd_clear_module_info (void) |
| opd_clear_module_info - clear kernel module information | |
| void | opd_handle_kernel_sample (unsigned long eip, u32 counter) |
| opd_handle_kernel_sample - process a kernel sample | |
| int | opd_eip_is_kernel (unsigned long eip) |
| opd_eip_is_kernel - is the sample from kernel/module space | |
| void | opd_add_kernel_map (struct opd_proc *proc, unsigned long eip) |
| opd_add_kernel_map - add a module or kernel maps to a proc struct | |
Dealing with the kernel and kernel module samples.
| void opd_add_kernel_map | ( | struct opd_proc * | proc, | |
| unsigned long | eip | |||
| ) |
opd_add_kernel_map - add a module or kernel maps to a proc struct
| proc | owning proc of the new mapping | |
| eip | eip inside the new mapping |
We assume than eip >= kernel_start
References app_name, opd_module::end, opd_module::image, kernel_end, kernel_start, opd_module::name, opd_image::name, opd_proc::name, opd_add_mapping(), opd_clear_module_info(), opd_get_kernel_image(), opd_module::start, opd_proc::tgid, opd_proc::tid, verbprintf, vmisc, vmlinux, and vmodule.
Referenced by opd_put_sample().
| void opd_clear_module_info | ( | void | ) |
opd_clear_module_info - clear kernel module information
Clear and free all kernel module information and reset values.
References list_entry, list_for_each_safe, opd_module::module_list, opd_module::name, opd_clear_kernel_mapping(), verbprintf, and vmodule.
Referenced by opd_add_kernel_map().
| int opd_eip_is_kernel | ( | unsigned long | eip | ) |
opd_eip_is_kernel - is the sample from kernel/module space
| eip | EIP value |
Returns 1 if eip is in the address space starting at kernel_start, 0 otherwise.
References kernel_start.
Referenced by opd_put_sample().
| void opd_handle_kernel_sample | ( | unsigned long | eip, | |
| u32 | counter | |||
| ) |
opd_handle_kernel_sample - process a kernel sample
| eip | EIP value of sample | |
| counter | counter number |
Handle a sample in kernel address space or in a module. The sample is output to the relevant image file.
References kernel_end, kernel_start, no_vmlinux, opd_24_stats, OPD_KERNEL, and opd_put_image_sample().
Referenced by opd_put_sample().
| void opd_init_kernel_image | ( | void | ) |
opd_init_kernel_image - initialise the kernel image
References opd_get_kernel_image(), opd_image::ref_count, and vmlinux.
| void opd_parse_kernel_range | ( | char const * | arg | ) |
opd_parse_kernel_range - parse the kernel range values
References kernel_end, kernel_start, verbprintf, and vmisc.
1.6.1