DragonFly commits List (threaded) for 2008-09
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/vfs/hammer hammer.h hammer_inode.c hammer_prune.c hammer_transaction.c hammer_vfsops.c hammer_vnops.c
dillon 2008/09/23 14:03:53 PDT
DragonFly src repository
Modified files:
sys/vfs/hammer hammer.h hammer_inode.c hammer_prune.c
hammer_transaction.c hammer_vfsops.c
hammer_vnops.c
Log:
Change the autoflush code to autoflush when a flush group reaches a
certain point rather then trying to do it from the reclaim code. This
smooths out the flush sequences. The default is 2000, adjustable via
the vfs.hammer.autoflush sysctl.
Move hammer_inode_waitreclaims() calls. In particular, remove the calls
in the VOP_CLOSE() path. The problem with waiting for excessive reclaims to
drop in these paths is that the inode/vnode operation in question is probably
cached. Thus unrelated programs, even those just opening /dev/null (if /dev
is on a HAMMER filesystem), can wind up blocking in hmrrcm for no good reason.
Instead defer the hammer_inode_waitreclaims() call to the end of the
transaction code if a new inode had to be created during the transaction.
Thus we tend to block on operations that did not have previously cached
vnodes to work with instead of operations on cached vnodes.
Reported-by: Hasso Tepper <hasso@estpak.ee>
Revision Changes Path
1.128 +4 -0 src/sys/vfs/hammer/hammer.h
1.112 +8 -9 src/sys/vfs/hammer/hammer_inode.c
1.19 +1 -0 src/sys/vfs/hammer/hammer_prune.c
1.25 +5 -0 src/sys/vfs/hammer/hammer_transaction.c
1.72 +3 -0 src/sys/vfs/hammer/hammer_vfsops.c
1.98 +1 -9 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.127&r2=1.128&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.111&r2=1.112&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_prune.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_transaction.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.71&r2=1.72&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.97&r2=1.98&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]