Messages in this thread | | | Date | Fri, 24 Oct 2008 09:17:37 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [PATCH] ftrace: use a real variable for ftrace_nop in x86 |
| |
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
| |