Module Name: src Committed By: ad Date: Sat May 30 20:16:14 UTC 2020
Modified Files: src/sys/kern: vfs_cache.c vfs_lookup.c src/sys/sys: namei.src Log Message: A couple of small changes to lookup that cut 5-10% system time from "build.sh release" on my test system: - Crossing mount points during lookup is slow because the set up for, and act of doing VFS_ROOT() is quite involved. Use the name cache to help with this. Cache an "impossible" zero-length name with covered vnodes, that points to the root of the file system mounted there. Use it to cross mounts. When cache_purge() is called on either of the vnodes involved the cache entry will disappear. All of the needed calls for that are already in place (vnode reclaim, unmount, etc). - In lookup_fastforward(), if the the last component has been found and the parent directory (searchdir) is not going to be returned, then don't get a reference to it. To generate a diff of this commit: cvs rdiff -u -r1.145 -r1.146 src/sys/kern/vfs_cache.c cvs rdiff -u -r1.220 -r1.221 src/sys/kern/vfs_lookup.c cvs rdiff -u -r1.57 -r1.58 src/sys/sys/namei.src Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.