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>
index | next in thread | raw e-mail
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
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708310732.AAA08678>
