[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070522080512.6c9528a1@freepuppy>
Date: Tue, 22 May 2007 08:05:12 -0700
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Kieran Mansley <kmansley@...arflare.com>
Cc: Keir Fraser <keir@...source.com>, muli@...ibm.com,
netdev@...r.kernel.org, xen-devel@...ts.xensource.com,
herbert@...dor.apana.org.au
Subject: Re: [Xen-devel] Re: [PATCH 3/4] [Net] Support Xen accelerated
network plugin modules
On Tue, 22 May 2007 13:44:28 +0100
Kieran Mansley <kmansley@...arflare.com> wrote:
> On Tue, 2007-05-22 at 08:48 +0100, Keir Fraser wrote:
> >
> >
> > On 22/5/07 08:28, "Kieran Mansley" <kmansley@...arflare.com> wrote:
> >
> > > On Tue, 2007-05-22 at 08:15 +0100, Kieran Mansley wrote:
> > >> RCU on its own wouldn't
> > >> prevent the accelerated plugin being unloaded while netfront was using
> > >> one of the hooks.
> > >
> > > Hmm, actually I think it could be used to do that. I'll take a look.
> >
> > Eagerly zap the function pointers, then wait one RCU period so every CPU
> > goes through a quiescent point before unloading the module?
> >
> > -- Keir
>
> Am I right in thinking that if one of the functions that was protected
> by RCU was to block, that would be a bad thing? Clearly the data path
> hooks can't/don't block, but I'm not sure it's so obvious for things
> like probing a new device.
>
> Kieran
>
The same thing is already done to handle network protocols already.
RCU is used for the object handle (including function pointers).
You need to use:
* put rcu structure in accelerator list member
and initialize it to the callback
* on addition increase refcount
on deletion
* call list_del_rcu() on removal
* in rcu callback you do last step
like drop module refcount and free.
--
Stephen Hemminger <shemminger@...ux-foundation.org>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists