Re: [PATCH -tip v3 7/7] kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT

From: Ingo Molnar
Date: Fri Sep 29 2017 - 03:38:05 EST



* Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> On Thu, 28 Sep 2017 09:22:20 +0200
> Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> >
> > * Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
> >
> > > To enable jump optimized probe with CONFIG_PREEMPT, use
> > > synchronize_rcu_tasks() to wait for all tasks preempted
> > > on trampoline code back on track.
> >
> > This sentence does not parse. It's missing a verb, but I'm not sure.
>
> Hmm, how about this?
>
> Use synchthnize_rcu_tasks() to wait for all tasks preempted
> on trampoline code back on track so that jump optimized probe
> can be enabled with CONFIG_PREEMPT.

What's "synchthnize"? ...

More seriously, I still don't understand it. What is 'back on track'?

Do you mean to say:

We want to wait for all potentially preempted kprobes trampoline execution to
have completed. This guarantees that any freed trampoline memory is not in use
by any task in the system anymore. synchronize_rcu_tasks() gives such a
guarantee, so use it.

or something else?

Thanks,

Ingo