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

Reply via email to