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

From: Masami Hiramatsu
Date: Fri Sep 29 2017 - 10:44:44 EST


On Fri, 29 Sep 2017 09:37:55 +0200
Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * 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"? ...

Oops, it's my typo. my XPS touch pad is really unstable...

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

Exactly, this is correct!

Thank you,

>
> or something else?
>
> Thanks,
>
> Ingo


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>