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

Steven Rostedt
2015-12-11T14:22:59Z

On Fri, 11 Dec 2015 18:52:42 +0800
Minfei Huang <mnfhuang@gmail.com> wrote:

> ftrace
> Reply-To:
>
> 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.

>
> 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.

-- Steve