Date: Fri, 22 Feb 2002 17:16:46 +0000 (GMT) From: Andrew Mobbs <andrewm@chiark.greenend.org.uk> To: hackers@freebsd.org Subject: msync performance Message-ID: <15478.31998.459219.178549@chiark.greenend.org.uk>
next in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15478.31998.459219.178549>