#include "operf_utils.h"#include "odb.h"#include "op_hw_config.h"#include "op_types.h"#include "op_list.h"#include "operf_process_info.h"#include <sys/types.h>

Go to the source code of this file.
Classes | |
| struct | operf_sfile |
| Each set of sample files (where a set is over the physical counter types) will have one of these for it. More... | |
| struct | operf_cg_entry |
| a call-graph entry More... | |
| struct | operf_transient |
| Transient values used for parsing the event buffer. More... | |
Defines | |
| #define | CG_HASH_SIZE 16 |
| #define | INVALID_IMAGE "INVALID IMAGE" |
| #define | VMA_SHIFT 13 |
Functions | |
| void | operf_sfile_clear_kernel (void) |
| clear any sfiles that are for the kernel | |
| void | operf_sfile_sync_files (void) |
| sync sample files | |
| void | operf_sfile_close_files (void) |
| close sample files | |
| int | operf_sfile_lru_clear (void) |
| clear out a certain amount of LRU entries return non-zero if the lru is already empty | |
| void | operf_sfile_get (struct operf_sfile *sf) |
| remove a sfile from the lru list, protecting it from operf_sfile_lru_clear() | |
| void | operf_sfile_put (struct operf_sfile *sf) |
| add this sfile to lru list | |
| struct operf_sfile * | operf_sfile_find (struct operf_transient const *trans) |
| Find the sfile for the current parameters. | |
| void | operf_sfile_log_sample (struct operf_transient const *trans) |
| Log the sample in a previously located sfile. | |
| void | operf_sfile_log_sample_count (struct operf_transient const *trans, unsigned long int count) |
| Log the event/cycle count in a previously located sfile. | |
| void | operf_sfile_log_arc (struct operf_transient const *trans) |
| Log a callgraph arc. | |
| void | operf_sfile_init (void) |
| initialise hashes | |
| #define CG_HASH_SIZE 16 |
| #define INVALID_IMAGE "INVALID IMAGE" |
| #define VMA_SHIFT 13 |
| void operf_sfile_clear_kernel | ( | void | ) |
clear any sfiles that are for the kernel
| void operf_sfile_close_files | ( | void | ) |
close sample files
Referenced by OP_perf_utils::op_release_resources().
| struct operf_sfile* operf_sfile_find | ( | struct operf_transient const * | trans | ) | [read] |
Find the sfile for the current parameters.
Note that is required that the PC value be set appropriately (needed for kernel images)
References operf_transient::app_filename, operf_transient::app_len, operf_transient::cpu, cverb, operf_sfile::hash, operf_transient::image_len, operf_transient::image_name, operf_transient::in_kernel, operf_transient::is_anon, list_entry, list_for_each, operf_find_kernel_image(), OPERF_LOST_KERNEL, operf_sfile_get(), operf_sfile_put(), operf_stats, operf_transient::pc, operf_transient::tgid, operf_transient::tid, and vsfile.
| void operf_sfile_get | ( | struct operf_sfile * | sf | ) |
remove a sfile from the lru list, protecting it from operf_sfile_lru_clear()
References operf_sfile::lru.
Referenced by operf_open_sample_file(), and operf_sfile_find().
| void operf_sfile_init | ( | void | ) |
| void operf_sfile_log_arc | ( | struct operf_transient const * | trans | ) |
Log a callgraph arc.
References operf_transient::current, cverb, operf_sfile::is_anon, operf_sfile::kernel, operf_transient::last, operf_transient::last_pc, odb_update_node(), OPERF_LOST_SAMPLEFILE, operf_stats, operf_transient::pc, operf_kernel_image::start, operf_sfile::start_addr, and varcs.
| void operf_sfile_log_sample | ( | struct operf_transient const * | trans | ) |
Log the sample in a previously located sfile.
References operf_sfile_log_sample_count().
| void operf_sfile_log_sample_count | ( | struct operf_transient const * | trans, | |
| unsigned long int | count | |||
| ) |
Log the event/cycle count in a previously located sfile.
References operf_transient::current, cverb, operf_transient::in_kernel, operf_sfile::is_anon, operf_sfile::kernel, odb_update_node_with_offset(), OPERF_KERNEL, OPERF_LOST_SAMPLEFILE, OPERF_PROCESS, OPERF_SAMPLES, operf_stats, operf_transient::pc, operf_kernel_image::start, operf_sfile::start_addr, and vsfile.
Referenced by operf_sfile_log_sample().
| int operf_sfile_lru_clear | ( | void | ) |
clear out a certain amount of LRU entries return non-zero if the lru is already empty
References list_entry, list_for_each_safe, operf_sfile::lru, and LRU_AMOUNT.
Referenced by operf_open_sample_file().
| void operf_sfile_put | ( | struct operf_sfile * | sf | ) |
add this sfile to lru list
References operf_sfile::lru.
Referenced by operf_open_sample_file(), and operf_sfile_find().
| void operf_sfile_sync_files | ( | void | ) |
sync sample files
1.6.1