Re: async disk io

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Fri, 07 Apr 2000 20:46:26 +0200

Adrian Chadd wrote:

> Well, I'm actually at a problem point :) See, I'm looking at the store
> code in an attempt to reduce the number of list walks (and yes, there
> are a *lot*) and memcpy()s in the storage manager. I'd also like to not
> have another memcpy when putting the object on disk. Filesystems
> like UFS are fine, but implementing write clustering with the
> current way the code exists involves a memcpy in SD->obj.write to
> cluster the writes together (look at COSS).

My view is that data once read (from net or disk, no difference) should
be put in a memory buffer block, and this buffer is then passed along
(and locked/unlocked) by the parts needing that data. There shouldn't be
any memcpy() at all, except possibly in header parsing and write
colescaling in preparation to write to disk (remember disk/fs block
boundaries, or you might be hit by a pagein to complete the write)

/Henrik
Received on Fri Apr 07 2000 - 13:01:46 MDT

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