struct field_data *fdata = (struct field_data *) priv;
size_t orig_offset = offset;
int cpu = smp_processor_id();
struct field_data *fdata = (struct field_data *) priv;
size_t orig_offset = offset;
int cpu = smp_processor_id();
/* do not write data if no space is available */
trace = stack_trace_context(fdata, cpu);
/* do not write data if no space is available */
trace = stack_trace_context(fdata, cpu);
++per_cpu(callstack_user_nesting, cpu);
/* do the real work and reserve space */
++per_cpu(callstack_user_nesting, cpu);
/* do the real work and reserve space */
if (fdata->mode == CALLSTACK_USER)
per_cpu(callstack_user_nesting, cpu)--;
if (fdata->mode == CALLSTACK_USER)
per_cpu(callstack_user_nesting, cpu)--;
- struct lib_ring_buffer_ctx *ctx,
- struct lttng_channel *chan)
+ 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;
{
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;
- 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));
- struct lib_ring_buffer_ctx *ctx,
- struct lttng_channel *chan)
+ 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;
{
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;
return;
}
nr_seq_entries = trace->nr_entries;
if (trace->nr_entries == trace->max_entries)
nr_seq_entries++;
chan->ops->event_write(ctx, trace->entries,
return;
}
nr_seq_entries = trace->nr_entries;
if (trace->nr_entries == trace->max_entries)
nr_seq_entries++;
chan->ops->event_write(ctx, trace->entries,
/* Add our own ULONG_MAX delimiter to show incomplete stack. */
if (trace->nr_entries == trace->max_entries) {
unsigned long delim = ULONG_MAX;
/* 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);