[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070803182335.GA4294@ifup.org>
Date: Fri, 3 Aug 2007 11:23:35 -0700
From: Brandon Philips <brandon@...p.org>
To: Stephen Hemminger <shemminger@...ux-foundation.org>
Cc: Tejun Heo <htejun@...il.com>, netdev@...r.kernel.org,
teheo@...e.de, bphilips@...e.de
Subject: Re: [patch 0/5][RFC] Update network drivers to use devres
On 14:44 Fri 03 Aug 2007, Stephen Hemminger wrote:
> On Fri, 03 Aug 2007 20:33:04 +0900 Tejun Heo <htejun@...il.com> wrote:
> > >> Devres makes low level drivers simpler, easier to get right and
> > >> maintain. Writing new drivers becomes easier too. So, why not?
> > >>
> > >>> Network devices seem to work fine thanks, and the resource requirements
> > >>> are different. If ain't broke, don't fix it.
> > >> Care to enlighten me on how the resource requirments are different
> > >> from ATA drivers?
> > >
> > > I was thinking of the hot remove (no mod ref counts) and lingering
> > > /sys open issues. ATA drivers use ref counts.
> >
> > I guess the hot removing is done by severing netdev from the actual
> > device, right? I don't see how that affects usage of devres on network
> > drivers. Am I missing something?
>
> The issue is that device may be removed at any time. So you can't rely
> on module ref counts to save you. And netdevice structure must still
> linger after module is removed, till dev ref count goes to zero.
These patches allow the net_device to linger. The code calls
free_netdev on device removal just as before.
This is how the net_device is handled on device removal by these
patches:
+static void devm_free_netdev(struct device *gendev, void *res)
+{
+ struct net_device *dev = dev_get_drvdata(gendev);
+ free_netdev(dev);
+}
> > On a separate note, can you explain lingering /sys open issue to me a
> > bit? With recent sysfs changes, sysfs nodes are disconnected
> > immediately on deletion. Would that make any difference to netdevs?
>
> Examples are in Documentation/networking/netdevices.txt
Isn't this the same problem as above? The net_device structure must
stay around if there are still references to it and it does.
Or am I missing something?
Thanks,
Brandon
-
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