#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().
1.6.1