Re: [PATCH] ftrace: use a real variable for ftrace_nop in x86

From: Steven Rostedt
Date: Fri Oct 24 2008 - 09:17:51 EST



On Fri, 24 Oct 2008, Steven Rostedt wrote:

>
> The dynamic ftrace determines which nop is safe to use at start up.
> When it finds a safe nop for patching, it sets a pointer called ftrace_nop
> to point to the code. All call sites are then patched to this nop.
>
> Later, when tracing is turned on, this ftrace_nop variable is again used
> to compare the location to make sure it is a nop before we update it to
> a mcount call. If this fails just once, a warning is outputed and ftrace
> is disabled.
>
> Rakib Mullick noted that the code that sets up the nop is a .init section
> where as the nop itself is in the .text section. This is needed because
> the nop is used later on after boot up. The problem is that the test of the
> nop jumps back to the setup code and causes a "section mismatch" warning.
>
> Rabik first recommended to convert the nop to .init.text, but as stated
> above, this would fail since that text is used later.
>
> The real solution is to extend Rabik's patch, and to make the ftrace_nop
> into an array, and just save the code from the assembly to this array.

Rereading what I sent, I see I misspelled Rakib's name twice.

Ingo, could you fix the changelog here before commiting it.

Thanks,

-- Steve

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