Greg KH <[EMAIL PROTECTED]> wrote: > > On Sun, Mar 28, 2004 at 12:38:57PM -0800, Andrew Morton wrote: > > Alan Stern <[EMAIL PROTECTED]> wrote: > > > > > > However, a very noticeable and IMO unacceptable delay occurs when there's > > > a reference to a kobject caused by a negative dentry that won't get > > > recycled until the system decides it's good and ready. That's the real > > > problem I wanted to call to people's attention. > > > > Have you verified that this actually happens? > > Yes, I've verified this, and it looks like Maneesh also agrees with > this. > > > If so, what are its effects? rmmod hangs for half an hour? Cannot reload > > the module? > > Well, before the patch that I submitted for the USB core, we would hang > waiting for the release function to return as there was still a > reference to the kobject pending. > > For other subsystems (and USB), this might cause nasty oopses when the > kobject is finally released and yet the module has been unloaded already > (as the owner of the reference did not cause the module reference count > to increment.) This is bad. >
The module should remain in memory, "unhashed", until the final kobject reference falls to zero. Destruction of that kobject causes the refcount on the module to fall to zero which causes the entire module to be released. (hmm, the existence of a kobject doesn't appear to contribute to its module's refcount. Why not?) But the module system is that smart, so what we do instead is to block rmmod until the module refcount falls to zero, and rmmod then does the final destruction. We could have punted the module destruction up to some reaper thread but for some reason did not do so. So as far as I can tell, the only problem we have is that rmmod will hang around until memory pressure, yes? Maybe a shrink_dcache_parent(dentry) on entry to simple_rmdir() would suffice? ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
