X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-events.c;h=285c73bce87b6d5681787562469462c4d10eed7d;hb=c991463eb37dbbcf53c390a8db52125621153c69;hp=168c3b26b9d62d5195449550f06cc2fcdddd29a5;hpb=3a523f5b6b4f8ca82412cb45f2d2ad9c44e7d249;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index 168c3b26..285c73bc 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -31,8 +31,10 @@ #include "wrapper/vmalloc.h" /* for wrapper_vmalloc_sync_all() */ #include "wrapper/random.h" #include "wrapper/tracepoint.h" +#include "lttng-kernel-version.h" #include "lttng-events.h" #include "lttng-tracer.h" +#include "lttng-abi-old.h" static LIST_HEAD(sessions); static LIST_HEAD(lttng_transport_list); @@ -52,9 +54,15 @@ int _lttng_session_metadata_statedump(struct lttng_session *session); void synchronize_trace(void) { synchronize_sched(); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) +#ifdef CONFIG_PREEMPT_RT_FULL + synchronize_rcu(); +#endif +#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) */ #ifdef CONFIG_PREEMPT_RT synchronize_rcu(); #endif +#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) */ } struct lttng_session *lttng_session_create(void) @@ -317,7 +325,7 @@ struct lttng_event *lttng_event_create(struct lttng_channel *chan, event->desc = lttng_event_get(event_param->name); if (!event->desc) goto register_error; - ret = kabi_2635_tracepoint_probe_register(event_param->name, + ret = kabi_2635_tracepoint_probe_register(event->desc->kname, event->desc->probe_callback, event); if (ret) @@ -393,6 +401,7 @@ struct lttng_event *lttng_event_create(struct lttng_channel *chan, break; default: WARN_ON_ONCE(1); + goto register_error; } ret = _lttng_event_metadata_statedump(chan->session, chan, event); if (ret) @@ -711,7 +720,7 @@ int _lttng_event_metadata_statedump(struct lttng_session *session, ret = lttng_metadata_printf(session, "event {\n" - " name = %s;\n" + " name = \"%s\";\n" " id = %u;\n" " stream_id = %u;\n", event->desc->name, @@ -816,9 +825,9 @@ int _lttng_stream_packet_context_declare(struct lttng_session *session) "struct packet_context {\n" " uint64_clock_monotonic_t timestamp_begin;\n" " uint64_clock_monotonic_t timestamp_end;\n" + " uint64_t content_size;\n" + " uint64_t packet_size;\n" " unsigned long events_discarded;\n" - " uint32_t content_size;\n" - " uint32_t packet_size;\n" " uint32_t cpu_id;\n" "};\n\n" );