Subject: Re: [Xen-devel] Re: [PATCH 3/4] [Net] Support Xen accelerated network plugin modules

From: Keir Fraser <[email-masked]>
Date: Tue, 22 May 2007 15:07:09 +0100

On 22/5/07 13:44, "Kieran Mansley" <[email-masked]> wrote:

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

Are there still module reference counts? If so, functions which may block
can manipulate their module's reference count.

Or if not, I guess the accelerator module can have a private reference count
checked by whatever unload function gets called from the RCU subsystem. So
that unload becomes deferred until *both* an RCU phase has passed *and* a
reference count has fallen to zero.

 -- Keir