Lines Matching defs:ut

166 get_chunk(struct u_trace *ut, size_t payload_size)
173 if (!list_is_empty(&ut->trace_chunks)) {
174 chunk = list_last_entry(&ut->trace_chunks,
205 chunk->utctx = ut->utctx;
206 chunk->timestamps = ut->utctx->create_timestamp_buffer(ut->utctx, TIMESTAMP_BUF_SIZE);
215 list_addtail(&chunk->node, &ut->trace_chunks);
424 u_trace_init(struct u_trace *ut, struct u_trace_context *utctx)
426 ut->utctx = utctx;
427 list_inithead(&ut->trace_chunks);
428 ut->enabled = u_trace_context_tracing(utctx);
432 u_trace_fini(struct u_trace *ut)
437 free_chunks(&ut->trace_chunks);
441 u_trace_has_points(struct u_trace *ut)
443 return !list_is_empty(&ut->trace_chunks);
447 u_trace_begin_iterator(struct u_trace *ut)
449 if (!ut->enabled)
453 list_first_entry(&ut->trace_chunks, struct u_trace_chunk, node);
455 return (struct u_trace_iterator) { ut, first_chunk, 0};
459 u_trace_end_iterator(struct u_trace *ut)
461 if (!ut->enabled)
465 list_last_entry(&ut->trace_chunks, struct u_trace_chunk, node);
467 return (struct u_trace_iterator) { ut, last_chunk, last_chunk->num_traces};
474 return a.ut == b.ut &&
497 copy_ts_buffer(begin_it.ut->utctx, cmdstream,
507 if (begin_it.ut != into) {
555 u_trace_append(struct u_trace *ut, void *cs, const struct u_tracepoint *tp)
557 struct u_trace_chunk *chunk = get_chunk(ut, tp->payload_sz);
569 ut->utctx->record_timestamp(ut, cs, chunk->timestamps, chunk->num_traces);
582 u_trace_flush(struct u_trace *ut, void *flush_data, bool free_data)
584 list_for_each_entry(struct u_trace_chunk, chunk, &ut->trace_chunks, node) {
589 if (free_data && !list_is_empty(&ut->trace_chunks)) {
591 list_last_entry(&ut->trace_chunks, struct u_trace_chunk, node);
596 list_splicetail(&ut->trace_chunks, &ut->utctx->flushed_trace_chunks);
597 list_inithead(&ut->trace_chunks);