lkml.org 
[lkml]   [2008]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 1/2] ftrace: make dynamic ftrace more robust

On Wed, 22 Oct 2008, Ingo Molnar wrote:
>
> > > > /* Used for MEMORY_HOTPLUG */
> > > > -#define __meminit __section(.meminit.text) __cold
> > > > +#define __meminit __section(.meminit.text) __cold notrace
> > > > #define __meminitdata __section(.meminit.data)
> > > > #define __meminitconst __section(.meminit.rodata)
> > > > #define __memexit __section(.memexit.text) __exitused __cold
> > >
> > > there's no justification given for this in the changelog and the change
> > > looks fishy.
> >
> > Sorry, I missed writing this. I had it in other patches, but forgot to
> > add the change log here. These are areas, just like the __init section
> > that I have no way ok finding out in an arch independent way, what to
> > remove from the ftrace records. So by not adding these notraces, we
> > are guaranteed to hit the warnings above!
>
> this is utterly fragile and might miss places that insert symbols into
> some of these sections manually.
>
> the robust approach is to make sure these things are never in an ftrace
> record to begin with. scripts/recordmcount.pl should be taught to only
> record places that it is _100% sure of is traceable_. Not "everything
> and we'll sort out the stuff that we think is not okay".
>
> if that needs arch dependent smarts then so be it - ftrace has to be
> enabled per arch anyway.

In that case, the only reasonable patch, until we do the above is this.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
kernel/trace/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-compile.git/kernel/trace/Kconfig
===================================================================
--- linux-compile.git.orig/kernel/trace/Kconfig 2008-10-21 17:07:47.000000000 -0400
+++ linux-compile.git/kernel/trace/Kconfig 2008-10-22 08:05:40.000000000 -0400
@@ -159,10 +159,11 @@ config STACK_TRACER
Say N if unsure.

config DYNAMIC_FTRACE
- bool "enable/disable ftrace tracepoints dynamically"
+ bool "enable/disable ftrace tracepoints dynamically (BROKEN)"
depends on FTRACE
depends on HAVE_DYNAMIC_FTRACE
depends on DEBUG_KERNEL
+ depends on BROKEN
default y
help
This option will modify all the calls to ftrace dynamically

\
 
 \ /
  Last update: 2008-10-22 14:09    [W:0.033 / U:7.656 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site