Skip site navigation (1)Skip section navigation (2)
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>