#include "opd_interface.h"
#include "opd_printf.h"
#include "opd_sfile.h"
#include "opd_stats.h"
#include "opd_trans.h"
#include "op_libiberty.h"
#include <stdlib.h>
#include <stdio.h>
Go to the source code of this file.
Data Structures | |
struct | spu_context_info |
Defines | |
#define | SPU_NUM_MASK 0xFFFFFFFF00000000ULL |
#define | SPU_CYCLES_COUNTER 0 |
Functions | |
static void | process_spu_samples (struct transient *trans) |
void | code_spu_profiling (struct transient *trans) |
void | code_spu_ctx_switch (struct transient *trans) |
static void | cache_spu_context_info (struct transient *trans) |
static void | update_trans_for_spu (struct transient *trans) |
static void | opd_put_spu_sample (struct transient *trans, unsigned long long pc) |
Variables | |
static struct spu_context_info * | spu_context_cache |
void(* | special_processor )(struct transient *) |
Processing the sample buffer for Cell BE SPU profile
Definition in file opd_spu.c.
#define SPU_CYCLES_COUNTER 0 |
Definition at line 111 of file opd_spu.c.
Referenced by opd_put_spu_sample().
#define SPU_NUM_MASK 0xFFFFFFFF00000000ULL |
Definition at line 110 of file opd_spu.c.
Referenced by opd_put_spu_sample().
static void cache_spu_context_info | ( | struct transient * | trans | ) | [static] |
Definition at line 91 of file opd_spu.c.
References spu_context_info::app_cookie, operf_transient::cpu, spu_context_info::embedded_offset, spu_context_info::spu_cookie, operf_transient::tgid, spu_context_info::tgid, operf_transient::tid, spu_context_info::tid, and trans.
Referenced by process_spu_samples().
void code_spu_ctx_switch | ( | struct transient * | trans | ) |
Definition at line 55 of file opd_spu.c.
References clear_trans_current(), operf_transient::cpu, enough_remaining(), find_cookie(), pop_buffer_value(), operf_transient::tgid, operf_transient::tid, trans, and vmisc.
void code_spu_profiling | ( | struct transient * | trans | ) |
Definition at line 44 of file opd_spu.c.
References pop_buffer_value(), process_spu_samples(), special_processor, and trans.
static void opd_put_spu_sample | ( | struct transient * | trans, | |
unsigned long long | pc | |||
) | [static] |
Definition at line 114 of file opd_spu.c.
References clear_trans_current(), operf_transient::cpu, operf_transient::current, operf_transient::event, operf_transient::pc, sfile_find(), sfile_log_sample(), SPU_CYCLES_COUNTER, SPU_NUM_MASK, TRACING_ON, TRACING_START, trans, update_trans_for_spu(), and update_trans_last().
Referenced by process_spu_samples().
static void process_spu_samples | ( | struct transient * | trans | ) | [static] |
Definition at line 147 of file opd_spu.c.
References cache_spu_context_info(), handlers, operf_transient::in_kernel, is_escape_code(), LAST_CODE, OPD_DANGLING_CODE, opd_put_spu_sample(), opd_stats, pop_buffer_value(), trans, verbprintf, and vmisc.
Referenced by code_spu_profiling().
static void update_trans_for_spu | ( | struct transient * | trans | ) | [static] |
Definition at line 101 of file opd_spu.c.
References spu_context_info::app_cookie, operf_transient::cpu, spu_context_info::embedded_offset, spu_context_info::spu_cookie, spu_context_info::tgid, operf_transient::tgid, spu_context_info::tid, operf_transient::tid, and trans.
Referenced by opd_put_spu_sample().
void(* special_processor)(struct transient *) |
Referenced by code_spu_profiling(), and opd_process_samples().
struct spu_context_info* spu_context_cache [static] |