cvs commit: src/sys/conf files src/sys/sys buf.h iosched.h proc.h src/sys/kern kern_iosched.c vfs_bio.c vfs_syscalls.c vfs_vnops.c src/sys/vfs/ufs ffs_softdep.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Jun 28 11:01:42 PDT 2008
dillon 2008/06/28 10:59:51 PDT
DragonFly src repository
Modified files:
sys/conf files
sys/sys buf.h proc.h
sys/kern vfs_bio.c vfs_syscalls.c vfs_vnops.c
sys/vfs/ufs ffs_softdep.c
Added files:
sys/sys iosched.h
sys/kern kern_iosched.c
Log:
Replace the bwillwrite() subsystem to make it more fair to processes.
* Add new API functions, bwillread(), bwillwrite(), bwillinode() which
the kernel calls when it intends to read, write, or make inode
modifications.
* Redo the backend. Add bd_heatup() and bd_wait(). bd_heatup() heats up
the buf_daemon, starting it flushing before we hit any blocking conditions
(similar to the previous algorith).
* The new bwill*() blocking functions no longer introduce escalating delays
to keep the number of dirty buffers under control. Instead it takes a page
from HAMMER and estimates the load caused by the caller, then waits for a
specific number of dirty buffers to complete their write I/O's before
returning. If the buffers can be retired quickly these functions will
return more quickly.
Revision Changes Path
1.221 +1 -0 src/sys/conf/files
1.49 +2 -1 src/sys/sys/buf.h
1.120 +3 -0 src/sys/sys/proc.h
1.106 +83 -138 src/sys/kern/vfs_bio.c
1.133 +9 -9 src/sys/kern/vfs_syscalls.c
1.58 +15 -4 src/sys/kern/vfs_vnops.c
1.57 +1 -1 src/sys/vfs/ufs/ffs_softdep.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.220&r2=1.221&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/buf.h.diff?r1=1.48&r2=1.49&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/proc.h.diff?r1=1.119&r2=1.120&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.105&r2=1.106&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.132&r2=1.133&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vnops.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_softdep.c.diff?r1=1.56&r2=1.57&f=u
More information about the Commits
mailing list