Re: Some confusion about the period of updating new function in ftrace

Minfei Huang
2015-12-11T14:46:35Z

On 12/11/15 at 09:22P, Steven Rostedt wrote:
> On Fri, 11 Dec 2015 18:52:42 +0800
> Minfei Huang <mnfhuang@gmail.com> wrote:
>
> > Hi, Steven.
> >
> > There is a confusion which blocks my step to go further for ftrace.
> >
> > Does ftrace guarantee that the replaced function is finished while
> > ftrace is replacing the functions? In the other word, is there a
> > possible that new function starts to run, while old function is also
> > running (maybe this function is called before replacing the function).
>
> No there is no such guarantee. That is up to the function callbacks to
> handle themselves.
>

Got it.

> >
> > Function schedule_on_each_cpu maybe fails to excute, if there is no
> > enough memory to be allocated? Then kernel may be unstable, if ftrace
> > continues, without handling the error, does it?
> >
> > Previously, I posted a patch to fix this issue, and you nacked it.
> >
> > [PATCH] workqueue: Add the allocation flags to function
> > schedule_on_each_cpu_gfp
>
> Ah that patch. Actually __GFP_NOFAIL is pretty much deprecated. The
> real solution is to manually do the schedule on each CPU.
>
> I can whip up a patch for that.

Thanks for your explanation.

Thanks
Minfei