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

From: Steven Rostedt
Date: Fri Dec 11 2015 - 09:23:04 EST


On Fri, 11 Dec 2015 18:52:42 +0800
Minfei Huang <mnfhuang@xxxxxxxxx> 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

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