}
return query->oa_metrics_set_id;
}
+
+struct oa_sample_buf *
+gen_perf_get_free_sample_buf(struct gen_perf_context *perf_ctx)
+{
+ struct exec_node *node = exec_list_pop_head(&perf_ctx->free_sample_buffers);
+ struct oa_sample_buf *buf;
+
+ if (node)
+ buf = exec_node_data(struct oa_sample_buf, node, link);
+ else {
+ buf = ralloc_size(perf_ctx->perf, sizeof(*buf));
+
+ exec_node_init(&buf->link);
+ buf->refcount = 0;
+ buf->len = 0;
+ }
+
+ return buf;
+}
struct gen_perf_config *perf);
uint64_t gen_perf_query_get_metric_id(struct gen_perf_config *perf,
const struct gen_perf_query_info *query);
+struct oa_sample_buf * gen_perf_get_free_sample_buf(struct gen_perf_context *perf);
#endif /* GEN_PERF_H */
/******************************************************************************/
-static struct oa_sample_buf *
-get_free_sample_buf(struct brw_context *brw)
-{
- struct exec_node *node = exec_list_pop_head(&brw->perf_ctx.free_sample_buffers);
- struct oa_sample_buf *buf;
-
- if (node)
- buf = exec_node_data(struct oa_sample_buf, node, link);
- else {
- buf = ralloc_size(brw, sizeof(*buf));
-
- exec_node_init(&buf->link);
- buf->refcount = 0;
- buf->len = 0;
- }
-
- return buf;
-}
-
static void
reap_old_sample_buffers(struct brw_context *brw)
{
uint32_t last_timestamp = tail_buf->last_timestamp;
while (1) {
- struct oa_sample_buf *buf = get_free_sample_buf(brw);
+ struct oa_sample_buf *buf = gen_perf_get_free_sample_buf(&brw->perf_ctx);
uint32_t offset;
int len;
* Begin an OA query we can always take a reference on a buffer
* in this list.
*/
- struct oa_sample_buf *buf = get_free_sample_buf(brw);
+ struct oa_sample_buf *buf = gen_perf_get_free_sample_buf(&brw->perf_ctx);
exec_list_push_head(&brw->perf_ctx.sample_buffers, &buf->link);
brw->perf_ctx.oa_stream_fd = -1;