Messages in this thread | | | From | Nadav Amit <> | Subject | Re: [PATCH v3 0/6] Static calls | Date | Fri, 11 Jan 2019 21:59:48 +0000 |
| |
> On Jan 11, 2019, at 1:55 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > > On Fri, 11 Jan 2019 15:41:22 -0600 > Josh Poimboeuf <jpoimboe@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.
| |