[Open-FCoE] [PATCH V2 11/13] fcoe: add mutex to protect create and destroy

Chris Leech christopher.leech at intel.com
Wed Jul 8 21:48:55 UTC 2009


On Wed, Jul 08, 2009 at 02:24:16PM -0700, Joe Eykholt wrote:
> Robert Love wrote:
> > On Wed, 2009-07-08 at 10:40 -0700, Chris Leech wrote:
> >> Rather than rely on the hostlist_lock to be held while creating exchange
> >> managers, serialize fcoe instance creation and destruction with a mutex.
> >> This will allow the hostlist addition to be moved out of fcoe_if_create(),
> >> which will simplify NPIV support.
> >>
> > Is there a reason that we don't use the rtnl_lock for protection? It's
> > already held when we get the NETDEV_UNREGISTER event (added in patch
> > 13/13). I believe that doing so would remove the need to defer the
> > fcoe_destroy() call since the deferral is only needed so that we don't
> > grab the rtnl_lock twice.
> 
> I considered that, too.  It seems a bit like a layering violation to use
> it to protect create/delete/exit, but maybe it's OK to do since we
> need to grab rtnl_lock anyway.
> 
> In fcoe_exit() we would have to be careful because
> unregister_netdevice_notifier() does rtnl_lock(),
> but if we did the unregister before grabbing rtnl_lock,
> that would be OK.
> 
> It could completely eliminate the need for hostlist_lock and create_lock,
> so it seems like a nice idea.

I thought there was somewhere outside of create/destroy that the
host-list was being read, but it might just have been the module exit
case.  Removing the lock and only having one mutex for all this would be
cool.



More information about the devel mailing list