[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100924214529.GG2887@redhat.com>
Date: Fri, 24 Sep 2010 17:45:29 -0400
From: Jason Baron <jbaron@...hat.com>
To: Mathieu Desnoyers <compudj@...stal.dyndns.org>
Cc: Steven Rostedt <rostedt@...dmis.org>, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Andi Kleen <andi@...stfloor.org>,
David Miller <davem@...emloft.net>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Rusty Russell <rusty@...tcorp.com.au>
Subject: Re: [PATCH 03/11] jump label: Base patch for jump label
On Fri, Sep 24, 2010 at 04:54:35PM -0400, Mathieu Desnoyers wrote:
> * Steven Rostedt (rostedt@...dmis.org) wrote:
> > On Thu, 2010-09-23 at 14:40 -0400, Jason Baron wrote:
> >
> > > I agree that we this synchronization for the module __init section.
> > >
> > > However, I believe we are ok for module removal case. free_module() is
> > > called *after* blocking_notifier_call_chain() call. The
> > > blocking_notifier_call_chain() is going to call back into the jump label
> > > code, grab the jump_label_mutex and remove the reference to the module that
> > > is about to freed. Thus, the jump label code can no longer reference it.
> > >
> > > So I think the following patch is all that is required here (lightly
> > > tested).
> > >
> > > Steve, I'll re-post as a separate patch, if we agree on this fix.
> >
> > Ug, I'm struggling to get ready for my Tokyo trip. I'll try to look at
> > it on the flight. But I still need to write my presentation :-)
> >
> > I may have a response back till Monday or Tuesday.
>
> As a note for when you review this patch, I have a strong preference for
> adding a "pre-init-free notifier callback" rather than taking the rcu
> read lock + adding a synchronize_rcu() in module.c. This will make our
> life much easier when we end up doing modifications down in text_poke.
>
> Thanks,
>
> Mathieu
>
Yes, I think we can make this work with a "pre-init-free notifier
callback". In fact, we can use MODULE_STATE_LIVE state that is already
in module.c. I'm in the process of testing a patch using this
alternative method.
thanks,
-Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists