cvs commit: src/sys/kern vfs_vnops.c
Bruce Evans
bde at FreeBSD.org
Fri Mar 12 18:56:29 PST 2004
bde 2004/03/12 18:56:28 PST
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.197 +11 -1 src/sys/kern/vfs_vnops.c
More information about the cvs-src
mailing list