X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-events.c;h=27a44e4ec7febb468c62a26bfc2daf8c61ac61df;hb=2f233e7946b38a8cb825d3f7c2338604a6012d79;hp=220178f71c96e565d64122e12fa856344e542b17;hpb=3d0d43dbac505d33994f5a57f4f11021410fa417;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index 220178f7..27a44e4e 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -30,8 +30,11 @@ #include "wrapper/uuid.h" #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); @@ -51,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) @@ -316,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 = tracepoint_probe_register(event_param->name, + ret = kabi_2635_tracepoint_probe_register(event_param->name, event->desc->probe_callback, event); if (ret) @@ -392,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) @@ -420,7 +430,7 @@ int _lttng_event_unregister(struct lttng_event *event) switch (event->instrumentation) { case LTTNG_KERNEL_TRACEPOINT: - ret = tracepoint_probe_unregister(event->desc->name, + ret = kabi_2635_tracepoint_probe_unregister(event->desc->name, event->desc->probe_callback, event); if (ret) @@ -710,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, @@ -815,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" );