On Mon, 18 Jun 2007 10:56:06 -0400 Chuck Ebbert <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html