#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
#include <wrapper/trace-clock.h>
#include <lttng/events.h>
+#include <lttng/events-internal.h>
#include <lttng/tracer.h>
#include <ringbuffer/frontend_types.h>
return;
}
for (i = 0; i < ctx->nr_fields; i++) {
- if (ctx->fields[i].get_size)
- offset += ctx->fields[i].get_size(offset);
- if (ctx->fields[i].get_size_arg)
- offset += ctx->fields[i].get_size_arg(offset,
- &ctx->fields[i], bufctx, chan);
+ offset += ctx->fields[i].get_size(ctx->fields[i].priv,
+ bufctx->probe_ctx, offset);
}
*ctx_len = offset;
}
return;
lib_ring_buffer_align_ctx(bufctx, ctx->largest_align);
for (i = 0; i < ctx->nr_fields; i++)
- ctx->fields[i].record(&ctx->fields[i], bufctx, chan);
+ ctx->fields[i].record(ctx->fields[i].priv, bufctx->probe_ctx,
+ bufctx, chan);
}
/*
}
static
-int lttng_event_reserve(struct lib_ring_buffer_ctx *ctx,
- uint32_t event_id)
+int lttng_event_reserve(struct lib_ring_buffer_ctx *ctx)
{
struct lttng_kernel_event_recorder *event_recorder = ctx->client_priv;
struct lttng_channel *lttng_chan = event_recorder->chan;
struct lttng_client_ctx client_ctx;
int ret, cpu;
+ uint32_t event_id;
cpu = lib_ring_buffer_get_cpu(&client_config);
if (unlikely(cpu < 0))
return -EPERM;
+ event_id = event_recorder->priv->id;
memset(&ctx->priv, 0, sizeof(ctx->priv));
ctx->priv.chan = lttng_chan->chan;
ctx->priv.reserve_cpu = cpu;