I recently raised PR 35195
Details are in the PR, but in summary; performing a large amount of random IO to a large file through mmap, on a machine with a fair amount of free RAM, will cause a following msync to take a significant amount of time. I believe this is because msync walks the dirty buffer list by age, therefor will write blocks out in an order liable to cause a lot of disk seeks. My suggestion for a solution would be before starting the IO, to sort the dirty buffer list by location on logical disk, and coalesce adjacent blocks where possible. Before I volunteer to implement something like this, please could somebody check I'm correct in my analysis, and comment on the feasibility of my suggested solution. Thanks, -- 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