#include "opd_cookie.h"
#include "op_types.h"
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | transient |
Typedefs | |
typedef void(* | handler_t )(struct transient *) |
Enumerations | |
enum | tracing_type { TRACING_OFF, TRACING_START, TRACING_ON } |
Functions | |
uint64_t | pop_buffer_value (struct transient *trans) |
int | enough_remaining (struct transient *trans, size_t size) |
static void | update_trans_last (struct transient *trans) |
static int | is_escape_code (uint64_t code) |
void | opd_process_samples (char const *buffer, size_t count) |
void | clear_trans_last (struct transient *trans) |
void | clear_trans_current (struct transient *trans) |
Variables | |
handler_t | handlers [] |
size_t | kernel_pointer_size |
Processing the sample buffer
Modified by Maynard Johnson <maynardj@us.ibm.com> These modifications are: (C) Copyright IBM Corporation 2007
Definition in file opd_trans.h.
Definition at line 60 of file opd_trans.h.
enum tracing_type |
Definition at line 27 of file opd_trans.h.
void clear_trans_current | ( | struct transient * | trans | ) |
used when we need to clear data that's been freed
Definition at line 44 of file opd_trans.c.
References operf_transient::current, and trans.
Referenced by clear_anon_maps(), code_cookie_switch(), code_cpu_switch(), code_ctx_switch(), code_kernel_enter(), code_module_loaded(), code_spu_ctx_switch(), code_user_enter(), do_lru(), opd_put_ibs_sample(), opd_put_sample(), and opd_put_spu_sample().
void clear_trans_last | ( | struct transient * | trans | ) |
used when we need to clear data that's been freed
Definition at line 37 of file opd_trans.c.
References operf_transient::last, and trans.
Referenced by clear_anon_maps(), code_module_loaded(), code_user_enter(), and do_lru().
int enough_remaining | ( | struct transient * | trans, | |
size_t | size | |||
) |
Definition at line 74 of file opd_trans.c.
References OPD_DANGLING_CODE, opd_stats, trans, verbprintf, and vmisc.
Referenced by code_cookie_switch(), code_cpu_switch(), code_ctx_switch(), code_ibs_fetch_sample(), code_ibs_op_sample(), code_spu_ctx_switch(), get_ibs_op_bta_sample(), opd_put_ibs_sample(), and opd_put_sample().
static int is_escape_code | ( | uint64_t | code | ) | [inline, static] |
Definition at line 73 of file opd_trans.h.
References kernel_pointer_size.
Referenced by opd_process_samples(), and process_spu_samples().
void opd_process_samples | ( | char const * | buffer, | |
size_t | count | |||
) |
Definition at line 296 of file opd_trans.c.
References transient::buffer, INVALID_COOKIE, is_escape_code(), LAST_CODE, OPD_DANGLING_CODE, opd_put_sample(), opd_stats, pop_buffer_value(), transient::remaining, special_processor, TRACING_OFF, UNUSED_EMBEDDED_OFFSET, verbprintf, and vmisc.
Referenced by opd_do_samples().
uint64_t pop_buffer_value | ( | struct transient * | trans | ) |
Definition at line 51 of file opd_trans.c.
References kernel_pointer_size, and trans.
Referenced by code_cookie_switch(), code_cpu_switch(), code_ctx_switch(), code_ibs_fetch_sample(), code_ibs_op_sample(), code_spu_ctx_switch(), code_spu_profiling(), get_ibs_op_bta_sample(), opd_process_samples(), opd_put_sample(), and process_spu_samples().
static void update_trans_last | ( | struct transient * | trans | ) | [inline, static] |
Definition at line 65 of file opd_trans.h.
References operf_transient::current, operf_transient::last, operf_transient::last_pc, operf_transient::pc, and trans.
Referenced by opd_put_ibs_sample(), opd_put_sample(), and opd_put_spu_sample().
Definition at line 270 of file opd_trans.c.
Referenced by is_ext_enabled(), is_ext_sfile_enabled(), opd_ext_find_counter_event(), opd_ext_print_stats(), opd_ext_sfile_close(), opd_ext_sfile_create(), opd_ext_sfile_dup(), opd_ext_sfile_get(), opd_ext_sfile_sync(), and process_spu_samples().
size_t kernel_pointer_size |
Definition at line 45 of file init.c.
Referenced by is_escape_code(), opd_26_init(), opd_do_samples(), opd_open_files(), and pop_buffer_value().