Very inconsistent (read) speed on UFS2
Bob Friesenhahn
bfriesen at simple.dallas.tx.us
Tue Aug 30 23:03:13 UTC 2011
On Wed, 31 Aug 2011, Lev Serebryakov wrote:
>
>> I'll try this experiment with mmap() and touching every 4096-th byte of
>> mapped memory instead of read(2).
> Strange enough, it gives only 40-50MiB/s and results are very
> consistent.
>
> It really surprise me. I didn't think, that there will be so much
> difference, I was sure, that it will be almost equivalent speed.
FreeBSD does not seem to default to sequential read-ahead when memory
mapping is used with sequential page access. Try using madvise()
with the MADV_SEQUENTIAL option and see if it helps.
There are also MADV_WILLNEED, MADV_DONTNEED, and MADV_FREE. Careful
use of these options can help performance quite a lot when data is
large compared to memory.
Bob
--
Bob Friesenhahn
bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
More information about the freebsd-fs
mailing list