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