cvs commit: src/sys/kern vfs_vnops.c
David Rhodus
drhodus at crater.dragonflybsd.org
Mon Mar 29 07:22:30 PST 2004
drhodus 2004/03/29 07:21:42 PST
DragonFly src repository
Modified files:
sys/kern vfs_vnops.c
Log:
* Change the offset alignment in vn_rdwe_inchunks()
This is primarily used by the ELF image activator.
FreeBSD src repository
Modified files:
sys/kern vfs_vnops.c
Log:
Align the offset in vn_rdwr_inchunks() so that at most the first and
the last chunk are misaligned relative to a MAXBSIZE byte boundary.
vn_rdwr_inchunks() is used mainly for elf core dumps, and elf sections
are usually perfectly misaligned relative to MAXBSIZE, and chunking
prevents the file system from doing much realigning.
This gives a surprisingly large speedup for core dumps -- from 50 to
13 seconds for a 512MB core dump here. The pessimization was mostly
from an interaction of the misalignment with IO_DIRECT. It increased
the number of i/o's for each chunk by a factor of 5 (3 writes and 2
read-before-writes instead of 1 write).
Revision Changes Path
1.17 +12 -2 src/sys/kern/vfs_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vnops.c.diff?r1=1.16&r2=1.17&f=h
More information about the Commits
mailing list