diff options
author | bde <bde@FreeBSD.org> | 2004-03-13 02:56:27 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2004-03-13 02:56:27 +0000 |
commit | 58d250bc297a7b203b5c88431b342a311e3169f0 (patch) | |
tree | 20547bb052b7f44301f236de93038bd16db222b1 /usr.sbin/nologin | |
parent | d90c60e2d628a89b1bc406a82fbbf86a8e21a747 (diff) | |
download | FreeBSD-src-58d250bc297a7b203b5c88431b342a311e3169f0.zip FreeBSD-src-58d250bc297a7b203b5c88431b342a311e3169f0.tar.gz |
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).
Diffstat (limited to 'usr.sbin/nologin')
0 files changed, 0 insertions, 0 deletions