Date: Sun, 31 Aug 1997 00:32:43 -0700 (PDT) From: Poul-Henning Kamp <phk@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/kern vfs_cache.c vfs_subr.c src/sys/sys vnode.h src/sys/ufs/lfs lfs_segment.c src/sys/vm vm_swap.c Message-ID: <199708310732.AAA08678@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
phk 1997/08/31 00:32:42 PDT Modified files: sys/kern vfs_cache.c vfs_subr.c sys/sys vnode.h sys/ufs/lfs lfs_segment.c sys/vm vm_swap.c Log: Change the 0xdeadb hack to a flag called VDOOMED. Introduce VFREE which indicates that vnode is on freelist. Rename vholdrele() to vdrop(). Create vfree() and vbusy() to add/delete vnode from freelist. Add vfree()/vbusy() to keep (v_holdcnt != 0 || v_usecount != 0) vnodes off the freelist. Generalize vhold()/v_holdcnt to mean "do not recycle". Fix reassignbuf()s lack of use of vhold(). Use vhold() instead of checking v_cache_src list. Remove vtouch(), the vnodes are always vget'ed soon enough after for it to have any measuable effect. Add sysctl debug.freevnodes to keep track of things. Move cache_purge() up in getnewvnodes to avoid race. Decrement v_usecount after VOP_INACTIVE(), put a vhold() on it during VOP_INACTIVE() Unmacroize vhold()/vdrop() Print out VDOOMED and VFREE flags (XXX: should use %b) Reviewed by: dyson Revision Changes Path 1.28 +8 -7 src/sys/kern/vfs_cache.c 1.96 +66 -55 src/sys/kern/vfs_subr.c 1.47 +19 -27 src/sys/sys/vnode.h 1.24 +2 -2 src/sys/ufs/lfs/lfs_segment.c 1.44 +2 -2 src/sys/vm/vm_swap.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708310732.AAA08678>