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

From: Masami Hiramatsu
Date: Sat Sep 30 2017 - 01:19:11 EST


On Fri, 29 Sep 2017 19:45:28 +0200
Ingo Molnar <mingo@xxxxxxxxxx> wrote:

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

OK, I got it. I'll check the remaining patches!

Thank you!

>
> Thanks,
>
> Ingo


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>