cvs commit: src/sys/i386/i386 machdep.c src/sys/kern vfs_bio.c vfs_cluster.c vfs_lock.c vfs_subr.c src/sys/sys buf.h vnode.h src/sys/vfs/nfs nfs_bio.c nfs_serv.c nfs_vnops.c src/sys/vfs/ufs ffs_softdep.c ufs_bmap.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Mar 5 10:46:33 PST 2006
dillon 2006/03/05 10:38:39 PST
DragonFly src repository
Modified files:
sys/i386/i386 machdep.c
sys/kern vfs_bio.c vfs_cluster.c vfs_lock.c
vfs_subr.c
sys/sys buf.h vnode.h
sys/vfs/nfs nfs_bio.c nfs_serv.c nfs_vnops.c
sys/vfs/ufs ffs_softdep.c ufs_bmap.c
Log:
Replace the global buffer cache hash table with a per-vnode red-black tree.
Add a B_HASHED b_flags bit as a sanity check. Remove the invalhash junk
and replace with assertions in several cases where the buffer must already
not be hashed. Get rid of incore() and gbincore() and replace with a new
function called findblk().
Merge the new RB management with bgetvp(), the two are now fully integrated.
Previous work has turned reassignbuf() into a mostly degenerate call, simplify
its arguments and functionality to match. Remove an unnecessary reassignbuf()
call from the NFS code. Get rid of pbreassignbuf().
Adjust the code in several places where it was assumed that calling
BUF_LOCK() with LK_SLEEPFAIL after previously failing with LK_NOWAIT
would always fail. This code was used to sleep before a retry. Instead,
if the second lock unexpectedly succeeds, simply issue an unlock and retry
anyway.
Testing-by: Stefan Krueger <skrueger at xxxxxxxxxxxxxxxx>
Revision Changes Path
1.87 +0 -1 src/sys/i386/i386/machdep.c
1.58 +36 -131 src/sys/kern/vfs_bio.c
1.17 +5 -6 src/sys/kern/vfs_cluster.c
1.10 +1 -0 src/sys/kern/vfs_lock.c
1.70 +61 -61 src/sys/kern/vfs_subr.c
1.24 +8 -9 src/sys/sys/buf.h
1.41 +2 -0 src/sys/sys/vnode.h
1.27 +2 -2 src/sys/vfs/nfs/nfs_bio.c
1.28 +3 -2 src/sys/vfs/nfs/nfs_serv.c
1.49 +8 -20 src/sys/vfs/nfs/nfs_vnops.c
1.35 +4 -1 src/sys/vfs/ufs/ffs_softdep.c
1.8 +1 -1 src/sys/vfs/ufs/ufs_bmap.c
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/machdep.c.diff?r1=1.86&r2=1.87&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cluster.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_lock.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_subr.c.diff?r1=1.69&r2=1.70&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/buf.h.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/vnode.h.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_bio.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_serv.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vnops.c.diff?r1=1.48&r2=1.49&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_softdep.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_bmap.c.diff?r1=1.7&r2=1.8&f=u
More information about the Commits
mailing list