Hi All This week has been good for speeding up yaffs. All cchanges mentioned here are now in cvs. As mentioned earlier this week, the dynamic updating of the oldest dirty sequence number sped up writes by up to 30% for one cell phone platform. Then there was the addition of background processing for dirty directory handling. That can reduce the writes associated with small file creation/deletion by a significant amount meaning less garbage collection and faster performance. Today has seen two further check ins that give speed ups: A) Phase 1 of reduction of shrink headers Shrink headers are no longer written when files are resized down or overwritten. This can significantly reduce the number of shrink headers which can really make a big difference to garbage collection speed. Shrink headers are still written when files are resized up by large amounts or when a file is deleted. One particular scenario that this helps is where files are opened for write with O_TRUNC and completely overwritten. eg. #cp a foo #cp b foo That would have created a shrink header in the past but no longer does. B) Better block iteration There are some code sequences that iterated over all blocks and called the yaffs_GetBlockInfo() function. These now just use direct block iteration which is way faster. The difference will likely not be anything as dramatic as other improvements, but it is there. All my test harnesses will be running for the whole week end to give these changes a thorough work out. Friday afternoon here... time to go fishing. -- Charles