Bug 1402
Summary: | filesystem cache invalidations take too long at NFS mount time | ||
---|---|---|---|
Product: | File System | Reporter: | Dave Hansen (dave) |
Component: | VFS | Assignee: | Jose R. Santos (jrsantos) |
Status: | CLOSED WILL_NOT_FIX | ||
Severity: | normal | CC: | alexn, dave, jrsantos, wburos |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.0-test5 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Dave Hansen
2003-10-22 08:09:23 UTC
The alternative is to speed up invalidate_inodes(). Kirill Korotaev <kk@sw.ru> was working on a patch; I shall ask him if it is ready. Well, we can avoind calling invalidate_inodes() by mounting the nfsd filesystem somewere. This causes deactivate_super() not to kill the sb. I still dont know how to avoid shrink_dcache_sb() from beeing called. Speed ups to invalidate_inodes() are very welcome since I doubt this is the last Ill see invalidate_inodes() problems. The problem is NOT that the inode or dentry caches are being flushed (though possibly you know this already, it isn't clear from the comments). The problem is that the inode and dentry caches *for*the*(tiny)*nfsd*filesystem are being flushed, and this requires iterating through each cache under a spinlock, and this can take a while. Basically, "mount" and "unmount" are slow operations. As has been mentioned, "unmount" can be avoided by mounting the nfsd filesystem somewhere. I recommend /proc/fs/nfsd. The "mount" can be avoided by not using the nfsservctl systemcall at all. This is achived by mounting nfsd at /proc/fs/nfsd, and running the latest release of nfs-utils. *fixing* the problem requires optimising the mount and unmount process, which is, I think, beyond my scope as NFSD maintainer. Hence I hereby disown this problem :-) It is now a "VFS" problem - mount and unmount are too slow. Hi! Did this end up getting resolved? Can the bug be closed? Was a year since last activity |