X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt-events.c;h=c08079b5840654f7977477c61f0c8a032f4ec08d;hb=ab2277d6c5aacf0c9ead24599e3b5fc57302d43f;hp=71fb8c70cdf99945534118674268fa77046dd0e7;hpb=05d32c64199816da32cd95929a8ff0d0d38d7f60;p=lttng-modules.git diff --git a/ltt-events.c b/ltt-events.c index 71fb8c70..c08079b5 100644 --- a/ltt-events.c +++ b/ltt-events.c @@ -170,6 +170,11 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session, chan->session = session; init_waitqueue_head(&chan->notify_wait); chan->id = session->free_chan_id++; + /* + * Note: the channel creation op already writes into the packet + * headers. Therefore the "chan" information used as input + * should be already accessible. + */ chan->chan = transport->ops.channel_create("[lttng]", chan, buf_addr, subbuf_size, num_subbuf, switch_timer_interval, read_timer_interval); @@ -230,7 +235,7 @@ struct ltt_event *ltt_event_create(struct ltt_channel *chan, /* Populate ltt_event structure before tracepoint registration. */ smp_wmb(); switch (event_param->instrumentation) { - case LTTNG_KERNEL_TRACEPOINTS: + case LTTNG_KERNEL_TRACEPOINT: event->desc = ltt_event_get(event_param->name); if (!event->desc) goto register_error; @@ -240,7 +245,7 @@ struct ltt_event *ltt_event_create(struct ltt_channel *chan, if (ret) goto register_error; break; - case LTTNG_KERNEL_KPROBES: + case LTTNG_KERNEL_KPROBE: ret = lttng_kprobes_register(event_param->name, event_param->u.kprobe.symbol_name, event_param->u.kprobe.offset, @@ -249,7 +254,7 @@ struct ltt_event *ltt_event_create(struct ltt_channel *chan, if (ret) goto register_error; break; - case LTTNG_KERNEL_FUNCTION_TRACER: + case LTTNG_KERNEL_FUNCTION: ret = lttng_ftrace_register(event_param->name, event_param->u.ftrace.symbol_name, event); @@ -288,7 +293,7 @@ int _ltt_event_unregister(struct ltt_event *event) int ret = -EINVAL; switch (event->instrumentation) { - case LTTNG_KERNEL_TRACEPOINTS: + case LTTNG_KERNEL_TRACEPOINT: ret = tracepoint_probe_unregister(event->desc->name, event->desc->probe_callback, event); @@ -296,11 +301,11 @@ int _ltt_event_unregister(struct ltt_event *event) return ret; ltt_event_put(event->desc); break; - case LTTNG_KERNEL_KPROBES: + case LTTNG_KERNEL_KPROBE: lttng_kprobes_unregister(event); ret = 0; break; - case LTTNG_KERNEL_FUNCTION_TRACER: + case LTTNG_KERNEL_FUNCTION: lttng_ftrace_unregister(event); ret = 0; break; @@ -362,7 +367,7 @@ int lttng_metadata_printf(struct ltt_session *session, */ waitret = wait_event_interruptible_timeout(*chan->ops->get_reader_wait_queue(chan), ({ - ret = chan->ops->event_reserve(&ctx); + ret = chan->ops->event_reserve(&ctx, 0); ret != -ENOBUFS || !ret; }), msecs_to_jiffies(LTTNG_METADATA_TIMEOUT_MSEC));