> On Jan 11, 2019, at 1:55 PM, Steven Rostedt <rost...@goodmis.org> wrote:
> 
> On Fri, 11 Jan 2019 15:41:22 -0600
> Josh Poimboeuf <jpoim...@redhat.com> wrote:
> 
>>> I don’t see RCU-sched solves the problem if you don’t disable preemption. On
>>> a fully preemptable kernel, you can get preempted between the push and the
>>> call (jmp) or before the push. RCU-sched can then finish, and the preempted
>>> task may later jump to a wrong patched-dest.  
>> 
>> Argh, I misspoke about RCU-sched.  Words are hard.
>> 
>> I meant synchronize_rcu_tasks(), which is a completely different animal.
>> My understanding is that it waits until all runnable tasks (including
>> preempted tasks) have gotten a chance to run.
> 
> Not quite, but does the same thing. It waits for all tasks to either
> schedule voluntarily (not preempted), or be / go into idle, or be /go
> into userspace. In any case, it makes sure code is off of trampolines.
> I use this before freeing trampolines used by ftrace.

Interesting. So my last email is completely wrong.
 

Reply via email to