Andrew, thanks for running these tests!  They confirm exactly what I
    expected.  I would like to improve bit 1 a bit more, but I think it
    is good enough to stage into the system with the default set to 3.

    In particular, I found that when you have a huge mmap()'d area and
    you msync() a small portion of it, bit 0 (case 1) results in phenominally
    better cpu performance above and beyond the lower fragmentation because
    msync() doesn't have to scan the entire object's memq.  This should have
    a large positive effect on a number of applications.

                                        -Matt
                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>

:              vm.msync_flush_flags
:       |   0   |   1   |   2   |   3   |
:-------+-------+-------+-------+-------|
:write  |  519  |  517  | 1632  |  519  |
:sync   | 2227  |  176  |  848  |  177  |
:-------+-------+-------+-------+-------|
:write  |  514  |  517  |  518  |  516  |
:sync   | 2215  |  175  | 2219  |  176  |
:-------+-------+-------+-------+-------|
:write  |  511  |  649  |  517  |  513  |
:sync   | 2209  |  125  | 2223  |  176  |
:-------+-------+-------+-------+-------|
:write  |  514  |  518  |  515  |  517  |
:sync   | 2217  |  176  | 2209  |  176  |
:-------+-------+-------+-------+-------|
:write  |  516  |  516  |  517  |  518  |
:sync   | 2219  |  176  | 2222  |  177  |
:
:Nearly 13 times improvement in sync times, very nice.
:-- 
:Andrew Mobbs - http://www.chiark.greenend.org.uk/~andrewm/


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

Reply via email to