[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160129154505.GF4081@treble.redhat.com>
Date: Fri, 29 Jan 2016 09:45:05 -0600
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Jessica Yu <jeyu@...hat.com>, Seth Jennings <sjenning@...hat.com>,
Jiri Kosina <jikos@...nel.org>,
Vojtech Pavlik <vojtech@...e.com>,
Miroslav Benes <mbenes@...e.cz>,
Ingo Molnar <mingo@...hat.com>, live-patching@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] ftrace: Adjust priority of ftrace module notifier
On Fri, Jan 29, 2016 at 09:38:00AM -0500, Steven Rostedt wrote:
> On Fri, 29 Jan 2016 01:43:47 -0500
> Jessica Yu <jeyu@...hat.com> wrote:
>
>
> > ---
> > kernel/trace/ftrace.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> > index eca592f..bdd7bfc 100644
> > --- a/kernel/trace/ftrace.c
> > +++ b/kernel/trace/ftrace.c
> > @@ -5067,7 +5067,12 @@ static int ftrace_module_notify(struct notifier_block *self,
> >
> > struct notifier_block ftrace_module_nb = {
> > .notifier_call = ftrace_module_notify,
> > - .priority = INT_MIN, /* Run after anything that can remove kprobes */
> > + /*
> > + * Run after anything that can remove kprobes and
> > + * after livepatch's going notifier, but run before
> > + * livepatch's coming notifier.
> > + */
> > + .priority = INT_MIN+1,
> > };
> >
> > void __init ftrace_init(void)
>
> Actually, I rather break up the ftrace notifiers into two different
> notifiers. One for coming and one for going (I use to have that before
> hard coding the module updates in the module code).
>
> Have the coming notifier be INT_MAX, where it runs before everything
> else (which it should, as tracing should be enabled then). And have the
> module going to stay INT_MIN to run after everything.
That sounds good to me.
If we do that then I still think it would be a good idea to split up the
livepatch notifiers, with:
- INT_MAX-1 for coming so that relocations are all written before any
other notifiers (besides ftrace) get a chance to run.
- INT_MIN-1 for going. I don't have a good specific reason, but I think
the symmetry will create less surprises and possibly fewer bugs if the
module's patched state as seen by the other notifiers is the same for
coming and going.
--
Josh
Powered by blists - more mailing lists