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