netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Brandon Philips <brandon@ifup.org>
To: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Tejun Heo <htejun@gmail.com>,
	netdev@vger.kernel.org, teheo@suse.de, bphilips@suse.de
Subject: Re: [patch 0/5][RFC] Update network drivers to use devres
Date: Fri, 3 Aug 2007 11:23:35 -0700	[thread overview]
Message-ID: <20070803182335.GA4294@ifup.org> (raw)
In-Reply-To: <20070803144409.3f95c91d@oldman.hamilton.local>

On 14:44 Fri 03 Aug 2007, Stephen Hemminger wrote:
> On Fri, 03 Aug 2007 20:33:04 +0900 Tejun Heo <htejun@gmail.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

      reply	other threads:[~2007-08-03 18:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-02 22:42 [patch 0/5][RFC] Update network drivers to use devres Brandon Philips
2007-08-03  8:58 ` Stephen Hemminger
2007-08-03 10:26   ` Tejun Heo
2007-08-03 11:07     ` Stephen Hemminger
2007-08-03 11:33       ` Tejun Heo
2007-08-03 13:44         ` Stephen Hemminger
2007-08-03 18:23           ` Brandon Philips [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070803182335.GA4294@ifup.org \
    --to=brandon@ifup.org \
    --cc=bphilips@suse.de \
    --cc=htejun@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@linux-foundation.org \
    --cc=teheo@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).