• Home
  • Raw
  • Download

Lines Matching refs:trans

37 void clear_trans_last(struct transient * trans)  in clear_trans_last()  argument
39 trans->last = NULL; in clear_trans_last()
40 trans->last_anon = NULL; in clear_trans_last()
44 void clear_trans_current(struct transient * trans) in clear_trans_current() argument
46 trans->current = NULL; in clear_trans_current()
47 trans->anon = NULL; in clear_trans_current()
51 uint64_t pop_buffer_value(struct transient * trans) in pop_buffer_value() argument
55 if (!trans->remaining) { in pop_buffer_value()
61 uint32_t const * lbuf = (void const *)trans->buffer; in pop_buffer_value()
64 uint64_t const * lbuf = (void const *)trans->buffer; in pop_buffer_value()
68 trans->remaining--; in pop_buffer_value()
69 trans->buffer += kernel_pointer_size; in pop_buffer_value()
74 int enough_remaining(struct transient * trans, size_t size) in enough_remaining() argument
76 if (trans->remaining >= size) in enough_remaining()
85 static void opd_put_sample(struct transient * trans, unsigned long long pc) in opd_put_sample() argument
89 if (!enough_remaining(trans, 1)) { in opd_put_sample()
90 trans->remaining = 0; in opd_put_sample()
94 event = pop_buffer_value(trans); in opd_put_sample()
96 if (trans->tracing != TRACING_ON) in opd_put_sample()
97 trans->event = event; in opd_put_sample()
99 trans->pc = pc; in opd_put_sample()
102 if (trans->in_kernel != 0) in opd_put_sample()
103 clear_trans_current(trans); in opd_put_sample()
105 if (!trans->in_kernel && trans->cookie == NO_COOKIE) in opd_put_sample()
106 trans->anon = find_anon_mapping(trans); in opd_put_sample()
109 if (!trans->current) in opd_put_sample()
110 trans->current = sfile_find(trans); in opd_put_sample()
116 if (!trans->current) in opd_put_sample()
120 if (trans->current->ignored || (trans->last && trans->last->ignored)) in opd_put_sample()
124 sfile_log_sample(trans); in opd_put_sample()
128 if (trans->tracing == TRACING_START) in opd_put_sample()
129 trans->tracing = TRACING_ON; in opd_put_sample()
131 update_trans_last(trans); in opd_put_sample()
135 static void code_unknown(struct transient * trans __attribute__((unused))) in code_unknown() argument
142 static void code_ctx_switch(struct transient * trans) in code_ctx_switch() argument
144 clear_trans_current(trans); in code_ctx_switch()
146 if (!enough_remaining(trans, 5)) { in code_ctx_switch()
147 trans->remaining = 0; in code_ctx_switch()
151 trans->tid = pop_buffer_value(trans); in code_ctx_switch()
152 trans->app_cookie = pop_buffer_value(trans); in code_ctx_switch()
156 pop_buffer_value(trans); in code_ctx_switch()
157 pop_buffer_value(trans); in code_ctx_switch()
158 trans->tgid = pop_buffer_value(trans); in code_ctx_switch()
161 char const * app = find_cookie(trans->app_cookie); in code_ctx_switch()
163 (unsigned long)trans->tid, (unsigned long)trans->tgid, in code_ctx_switch()
164 trans->app_cookie, app ? app : "none"); in code_ctx_switch()
169 static void code_cpu_switch(struct transient * trans) in code_cpu_switch() argument
171 clear_trans_current(trans); in code_cpu_switch()
173 if (!enough_remaining(trans, 1)) { in code_cpu_switch()
174 trans->remaining = 0; in code_cpu_switch()
178 trans->cpu = pop_buffer_value(trans); in code_cpu_switch()
179 verbprintf(vmisc, "CPU_SWITCH to %lu\n", trans->cpu); in code_cpu_switch()
183 static void code_cookie_switch(struct transient * trans) in code_cookie_switch() argument
185 clear_trans_current(trans); in code_cookie_switch()
187 if (!enough_remaining(trans, 1)) { in code_cookie_switch()
188 trans->remaining = 0; in code_cookie_switch()
192 trans->cookie = pop_buffer_value(trans); in code_cookie_switch()
195 char const * name = verbose_cookie(trans->cookie); in code_cookie_switch()
197 name, trans->cookie); in code_cookie_switch()
202 static void code_kernel_enter(struct transient * trans) in code_kernel_enter() argument
205 trans->in_kernel = 1; in code_kernel_enter()
206 clear_trans_current(trans); in code_kernel_enter()
215 static void code_user_enter(struct transient * trans) in code_user_enter() argument
218 trans->in_kernel = 0; in code_user_enter()
219 clear_trans_current(trans); in code_user_enter()
220 clear_trans_last(trans); in code_user_enter()
224 static void code_module_loaded(struct transient * trans __attribute__((unused))) in code_module_loaded() argument
228 clear_trans_current(trans); in code_module_loaded()
229 clear_trans_last(trans); in code_module_loaded()
238 static void code_trace_begin(struct transient * trans) in code_trace_begin() argument
241 trans->tracing = TRACING_START; in code_trace_begin()
244 static void code_xen_enter(struct transient * trans) in code_xen_enter() argument
247 trans->in_kernel = 1; in code_xen_enter()
248 trans->current = NULL; in code_xen_enter()
258 extern void code_spu_profiling(struct transient * trans);
259 extern void code_spu_ctx_switch(struct transient * trans);
261 extern void code_ibs_fetch_sample(struct transient * trans);
262 extern void code_ibs_op_sample(struct transient * trans);
292 struct transient trans = { in opd_process_samples() local
320 special_processor(&trans); in opd_process_samples()
324 while (trans.remaining) { in opd_process_samples()
325 code = pop_buffer_value(&trans); in opd_process_samples()
328 opd_put_sample(&trans, code); in opd_process_samples()
332 if (!trans.remaining) { in opd_process_samples()
339 code = pop_buffer_value(&trans); in opd_process_samples()
346 handlers[code](&trans); in opd_process_samples()