← Back to team overview

pbxt-discuss team mailing list archive

Re: memory mapping or not?

 

(so yeah, bit late thinking about this... but here goes)

On Wed, Jul 01, 2009 at 05:53:43PM +0200, Paul McCullagh wrote:
> During a fsync(fh), pread(fh) and write(fh) can hang (actually
> sometimes pread() hangs for no reason?!)

this could be filesystem dependent (at least on linux). would be
interesting to run it under perf to see where time is being spent.

as for OSX... forget any concurrency, the filesystem metadata is
single threaded.

> The major disadvantage of memory mapped files at the moment is the
> "remap" function. This is when the size of the file is expanded, and
> we upmap and remap the file. This could be fixed by mapping an
> additional block of memory (but then we need to keep a list of the
> memory maps in RAM for each file).

but could be useful for only mapping in parts you need... esp for
32bit (but then again, does anybody care about 32bit anymore).

> I have only tested mac so far, but i believe this is the case with
> most file systems (using XFS with direct I/O is the only exception I
> have heard of).

people run things other than XFS for databases? are they insane?

-- 
Stewart Smith



References