Messages in this thread Patch in this message | | | Date | Wed, 22 Oct 2008 08:07:16 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [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
| |