Re: memory mapped store entries

From: Chris Wedgwood <chris@dont-contact.us>
Date: Tue, 25 Aug 1998 16:50:05 +1200

On Tue, Aug 25, 1998 at 02:01:51PM +1000, Stewart Forster wrote:

> An mmap() implementation would presumably be jumping about all over
> the object index changing stuff. Assuming 30 seconds between
> flushes we could be talking about needing to rewrite the entire
> index file every 30 seconds for the worst case. For us that's 10M
> at its smallest. That's a lot of extra disk IO.

One hopes the OS does a sort of the pages before it sync's them, In
reality, I don't think many OS's actually do this.

Also of note, usign fsync ever now and then could still be expensive,
because some OSs actually sync _all_ blocks for the device when they
get fsync because its cheaper than finding out which specific block
to sync.

This means, on a busy cache, where you have lots of data, and you do
your periodic fsync, all threads accessing files on the same store
will block - and this could last for several seconds when you have
tens to hundreds of MB of data to flush.

-cw
Received on Tue Jul 29 2003 - 13:15:52 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:53 MST