:I think we need to remember that we do not always have a
:backing object, nor is a backing object always desirable.
:
:The performance of an mmap'ed file, or swap-backed anonymous
:region is _significantly_ below that of unbacked objects.
:
:-- Terry

    This is not true, Terry.  There is no performance degredation with 
    swap verses unbacked storage, and no performance degredation with
    file-backed storage if you use MAP_NOSYNC to adjust the write flushing
    characteristics of the map.  Additionally, there is no 'write through'
    in the VM layer per-say -- the filesystem syncer has to come along
    and actually look for dirty pages to sync to the backing store (and
    with MAP_NOSYNC it doesn't bother).  The VM layers do not touch the
    backing store at all until they absolutely have to.  For example, swap
    is not allocated until the pagedaemon actually decides to page something
    out.

    This leaves only the pageout daemon which operates as it always has... 
    if you are not squeezed for memory, it won't try to page anything out.
    And you can always use madvise(), msync(), and mlock() on top of
    everything else to adjust the VM characteristics of a section of 
    memory (though personally speaking I don't think mlock() is necessary
    with 4.x's VM system unless you need realtime).

    In short, mmap()'s backing store is not an issue in 4.x.  Read the
    manual page for mmap for more information, I fleshed it out a long time
    ago to explain all of this.

                                        -Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to