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

From: Ingo Molnar
Date: Fri Sep 29 2017 - 13:45:36 EST



* Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

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

Ok, great - please re-send the remaining kprobes patches that I have not applied
yet - I'll read through the changelogs and fix any bits that might still be
unclear.

Thanks,

Ingo