DragonFly commits List (threaded) for 2008-06
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/vfs/hammer hammer.h hammer_blockmap.c hammer_cursor.c hammer_object.c hammer_ondisk.c hammer_vnops.c
dillon 2008/06/30 19:08:58 PDT
DragonFly src repository
Modified files:
sys/vfs/hammer hammer.h hammer_blockmap.c
hammer_cursor.c hammer_object.c
hammer_ondisk.c hammer_vnops.c
Log:
HAMMER 59G/Many: Stabilization pass (low memory issues)
Make adjustments in an attempt to remove deadlocks from the pageout and
buffer flushing paths when a system is low on memory.
* Restructure the low level storage allocator to use layer2->append_off
and to move the blockmap lock deeper into the routine, pass the buffer
ops.
* Do kmalloc()'s of critical structures accessed by the backend with
M_USE_RESERVE.
* Have hammer_vop_write() call bwillwrite() unconditionally, even if
called from the pageout daemon. Do not release or relock the vnode
at all.
Theoretically bwillwrite() in the pageout path should still allow
strategy calls from the buf_daemon threads to proceed, and not deadlock.
Reported-by: Gergo Szakal <bastyaelvtars@gmail.com>
Revision Changes Path
1.99 +1 -2 src/sys/vfs/hammer/hammer.h
1.21 +130 -120 src/sys/vfs/hammer/hammer_blockmap.c
1.34 +4 -0 src/sys/vfs/hammer/hammer_cursor.c
1.80 +2 -1 src/sys/vfs/hammer/hammer_object.c
1.64 +3 -2 src/sys/vfs/hammer/hammer_ondisk.c
1.79 +32 -46 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.98&r2=1.99&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_blockmap.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.79&r2=1.80&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.63&r2=1.64&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.78&r2=1.79&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]