[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070618081818.01dbf2b5@localhost.localdomain>
Date: Mon, 18 Jun 2007 08:18:18 -0700
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Chuck Ebbert <cebbert@...hat.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, netdev@...r.kernel.org,
"bugme-daemon@...nel-bugs.osdl.org"
<bugme-daemon@...nel-bugs.osdl.org>,
Paul Mackerras <paulus@...ba.org>, kernelbugs@...nopolis.ca
Subject: Re: [Bugme-new] [Bug 8638] New: unregister_netdevice: waiting for
ppp0 to become free. pppoe + multihome + htb qos?
On Mon, 18 Jun 2007 10:56:06 -0400
Chuck Ebbert <cebbert@...hat.com> wrote:
>
> Is there any way to print the addresses the notifier is calling
> to try and release net device references? I see:
>
> net/core/dev/c::netdev_wait_allrefs():
>
> while (atomic_read(&dev->refcnt) != 0) {
> if (time_after(jiffies, rebroadcast_time + 1 * HZ)) {
> rtnl_lock();
>
> /* Rebroadcast unregister notification */
> raw_notifier_call_chain(&netdev_chain,
> NETDEV_UNREGISTER, dev);
>
> but don't see any way to print the functions that get called.
You could walk the chain and print the functions out, but it wouldn't
really help identify the problem. The problem is when a protocol forgets
to call dev_put() after calling dev_hold(). The notifier there is
just a last effort at beating a dead horse. It really should be removed
since it never helps. The notifier in unregister does work, and calling
the notification repeatedly doesn't change anything.
--
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