Fix: tracepoint name remapping
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 25 Jan 2014 00:16:08 +0000 (19:16 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 25 Jan 2014 00:44:00 +0000 (19:44 -0500)
Commit

  "Introduce API to remap event names exposed by LTTng"

failed to map the event names enabled by the user to tracepoint names
known to the kernel. For instance, tracing with the kmem_kmalloc event
enabled is not gathering any event. This issue applies to all tracepoint
events declared with a different name within LTTng than within the Linux
kernel.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttng-events.c
lttng-events.h
probes/lttng-events.h

index 27a44e4ec7febb468c62a26bfc2daf8c61ac61df..285c73bce87b6d5681787562469462c4d10eed7d 100644 (file)
@@ -325,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)
index 37a5db71e5bc1f7543a1a3f2efb3ae0b412c3413..19fd5080f5fed73ca6381d60afd161a31c057c3e 100644 (file)
@@ -162,7 +162,8 @@ struct lttng_ctx {
 };
 
 struct lttng_event_desc {
-       const char *name;
+       const char *name;               /* lttng-modules name */
+       const char *kname;              /* Linux kernel name (tracepoints) */
        void *probe_callback;
        const struct lttng_event_ctx *ctx;      /* context */
        const struct lttng_event_field *fields; /* event payload */
index bf2e2b9d1df5364cc3213fc70345c38f21d7fd5a..680f466f9a2b40531e3214ef551d7296bf024ba1 100644 (file)
@@ -327,6 +327,7 @@ static void __event_probe__##_name(void *__data);
 static const struct lttng_event_desc __event_desc___##_map = {         \
        .fields = __event_fields___##_template,                         \
        .name = #_map,                                                  \
+       .kname = #_name,                                                \
        .probe_callback = (void *) TP_PROBE_CB(_template),              \
        .nr_fields = ARRAY_SIZE(__event_fields___##_template),          \
        .owner = THIS_MODULE,                                           \
This page took 0.028986 seconds and 4 git commands to generate.