lkml.org 
[lkml]   [2014]   [Apr]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH v9 1/1] Tracepoint: register/unregister struct tracepoint
----- Original Message -----
> From: "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>
> To: "Steven Rostedt" <rostedt@goodmis.org>
> Cc: linux-kernel@vger.kernel.org, "Ingo Molnar" <mingo@kernel.org>, "Frederic Weisbecker" <fweisbec@gmail.com>,
> "Andrew Morton" <akpm@linux-foundation.org>, "Frank Ch. Eigler" <fche@redhat.com>, "Johannes Berg"
> <johannes.berg@intel.com>
> Sent: Thursday, April 3, 2014 11:40:17 PM
> Subject: Re: [PATCH v9 1/1] Tracepoint: register/unregister struct tracepoint
>
> ----- Original Message -----
> > From: "Steven Rostedt" <rostedt@goodmis.org>
> > To: "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>
> > Cc: linux-kernel@vger.kernel.org, "Ingo Molnar" <mingo@kernel.org>,
> > "Frederic Weisbecker" <fweisbec@gmail.com>,
> > "Andrew Morton" <akpm@linux-foundation.org>, "Frank Ch. Eigler"
> > <fche@redhat.com>, "Johannes Berg"
> > <johannes.berg@intel.com>
> > Sent: Thursday, April 3, 2014 2:54:41 PM
> > Subject: Re: [PATCH v9 1/1] Tracepoint: register/unregister struct
> > tracepoint
> >
> > On Thu, 3 Apr 2014 17:49:54 +0000 (UTC)
> > Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
> >
> >
> > > So my current thinking is that the pre-existing code was erroneously
> > > enabling tracepoints with the name of every event enabled (including
> > > e.g. function tracer, kprobes, etc). It was not failing because
> > > tracepoint.c silently accepted to enable tracepoints were not loaded
> > > yet.
> > >
> >
> > If that was true, than wouldn't the error code I added have returned an
> > error?
>
> Good point.
>
> I found the culprit:
>
> [ 0.560002] event_trace_enable: �GT����� call ffffffff81613930 (core)
> [ 0.564001] event_trace_enable: �GTȁ���� call ffffffff816139c0 (core)
>
> compudj@ok:~/git/rostedt/linux-trace$ objdump -t vmlinux |grep
> ffffffff81613930
> ffffffff81613930 l O .data 0000000000000090 event_sys_exit
> compudj@ok:~/git/rostedt/linux-trace$ objdump -t vmlinux |grep
> ffffffff816139c0
> ffffffff816139c0 l O .data 0000000000000090 event_sys_enter
>
> I'll look into those two sites tomorrow morning.

And here is the fix:

diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h
index 7538389..75e64e8 100644
--- a/include/linux/ftrace_event.h
+++ b/include/linux/ftrace_event.h
@@ -371,7 +371,7 @@ struct ftrace_event_file {
#define __TRACE_EVENT_FLAGS(name, value) \
static int __init trace_init_flags_##name(void) \
{ \
- event_##name.flags = value; \
+ event_##name.flags |= value; \
return 0; \
} \
early_initcall(trace_init_flags_##name);
I will respin a new version after some extra testing.

Thanks!

Mathieu


>
> Thanks,
>
> Mathieu
>
> >
> > -- Steve
> >
>
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
>

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2014-04-04 16:01    [W:1.134 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site