: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

Reply via email to