X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Flttng-context-callstack-legacy-impl.h;h=833443d612c73efe38389a32a24ee3d52e79bb43;hb=f5ffbd770ec2b9d1ac9b7059eb33a01432043bce;hp=34a977a0c550e0a48eaca3009ce1b1ef49eb3fdc;hpb=2dc781e02eb156a76554ada092a181ab2916db57;p=lttng-modules.git diff --git a/src/lttng-context-callstack-legacy-impl.h b/src/lttng-context-callstack-legacy-impl.h index 34a977a0..833443d6 100644 --- a/src/lttng-context-callstack-legacy-impl.h +++ b/src/lttng-context-callstack-legacy-impl.h @@ -130,7 +130,7 @@ struct stack_trace *stack_trace_context(struct field_data *fdata, int cpu) } static -size_t lttng_callstack_length_get_size(void *priv, struct lttng_probe_ctx *probe_ctx, size_t offset) +size_t lttng_callstack_length_get_size(void *priv, struct lttng_kernel_probe_ctx *probe_ctx, size_t offset) { size_t orig_offset = offset; @@ -144,7 +144,7 @@ size_t lttng_callstack_length_get_size(void *priv, struct lttng_probe_ctx *probe * resulting callstack is saved to be accessed in the record step. */ static -size_t lttng_callstack_sequence_get_size(void *priv, struct lttng_probe_ctx *probe_ctx, size_t offset) +size_t lttng_callstack_sequence_get_size(void *priv, struct lttng_kernel_probe_ctx *probe_ctx, size_t offset) { struct stack_trace *trace; struct field_data *fdata = (struct field_data *) priv; @@ -188,16 +188,15 @@ size_t lttng_callstack_sequence_get_size(void *priv, struct lttng_probe_ctx *pro } static -void lttng_callstack_length_record(void *priv, struct lttng_probe_ctx *probe_ctx, - struct lib_ring_buffer_ctx *ctx, - struct lttng_channel *chan) +void lttng_callstack_length_record(void *priv, struct lttng_kernel_probe_ctx *probe_ctx, + struct lttng_kernel_ring_buffer_ctx *ctx, + struct lttng_kernel_channel_buffer *chan) { int cpu = ctx->priv.reserve_cpu; struct field_data *fdata = (struct field_data *) priv; struct stack_trace *trace = stack_trace_context(fdata, cpu); unsigned int nr_seq_entries; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(unsigned int)); if (unlikely(!trace)) { nr_seq_entries = 0; } else { @@ -205,31 +204,31 @@ void lttng_callstack_length_record(void *priv, struct lttng_probe_ctx *probe_ctx if (trace->nr_entries == trace->max_entries) nr_seq_entries++; } - chan->ops->event_write(ctx, &nr_seq_entries, sizeof(unsigned int)); + chan->ops->event_write(ctx, &nr_seq_entries, sizeof(unsigned int), lttng_alignof(unsigned int)); } static -void lttng_callstack_sequence_record(void *priv, struct lttng_probe_ctx *probe_ctx, - struct lib_ring_buffer_ctx *ctx, - struct lttng_channel *chan) +void lttng_callstack_sequence_record(void *priv, struct lttng_kernel_probe_ctx *probe_ctx, + struct lttng_kernel_ring_buffer_ctx *ctx, + struct lttng_kernel_channel_buffer *chan) { int cpu = ctx->priv.reserve_cpu; struct field_data *fdata = (struct field_data *) priv; struct stack_trace *trace = stack_trace_context(fdata, cpu); unsigned int nr_seq_entries; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(unsigned long)); if (unlikely(!trace)) { + lib_ring_buffer_align_ctx(ctx, lttng_alignof(unsigned long)); return; } nr_seq_entries = trace->nr_entries; if (trace->nr_entries == trace->max_entries) nr_seq_entries++; chan->ops->event_write(ctx, trace->entries, - sizeof(unsigned long) * trace->nr_entries); + sizeof(unsigned long) * trace->nr_entries, lttng_alignof(unsigned long)); /* Add our own ULONG_MAX delimiter to show incomplete stack. */ if (trace->nr_entries == trace->max_entries) { unsigned long delim = ULONG_MAX; - chan->ops->event_write(ctx, &delim, sizeof(unsigned long)); + chan->ops->event_write(ctx, &delim, sizeof(unsigned long), 1); } }