:Err... I think what Alfred (should have) meant was that you should mmap
:the source file and madvise it MADV_SEQUENTIAL, then write() to the new
:file directly from that. How bad do you foresee performance being then?
:
:--
: Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! /
: [EMAIL PROTECTED] `------------------------------'
Between 3.x and 4.x I doubled the VM fault readahead size, but we
are still talking relatively small I/O's (around 64KB to 128KB), so
you are still going to see a lot of faults.
(The VM system in 4.x is also able to optimize reverse-indexed
scans, is better able to discern random from sequential performance, and
the heuristic is now partitioned and doesn't get confused by
multiple accessors operating on the same file, but these features
will have no impact on a simple file copy).
Also,since the heuristic is already detecting sequential operation,
setting MADV_SEQUENTIAL in this case isn't going to change anything.
MADV_SEQUENTIAL is useful when you are jumping around a mapping enough
to defeat the sequential detection, but still want the VM system to
perform large-block I/O when it takes a fault.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message