On Wednesday 07 May 2014 01:19:06 Ed Sutter wrote: > Charles, > Thanks for the quick reply. > I pulled all the Q&A to the top... > > > Are you using Yaffs1 mode of operation? When a file is deleted the > > chunks are marked deleted and when all the chunks in a file are > > deleted, the erasure will occur. This can take some time. > > Apparently I am... is_yaffs2 is not set. > Should this be set? No. If you're using yaffs1 format, then changing this flag to yaffs2 will break things. > > > There is some tuning, but perhaps a better option is to get a > > background thread going for doing the gc. This will clean the decks > > for writes to occur unimpeded. > > I didn't see anything in the docs on implementing background garbage > collection when using CONFIG_YAFFS_DIRECT > > > How full is the file system? > > I've got 32Mbyte for storage, and about 6M used. > > > Are you using the "soft delete" feature? This defers the actual > > deletion, but unless you have background gc running, this will just > > move the delays into the gc. > > No, disable_soft_del is set to 1. > > Anyway, it sounds like what I want to do here is enable soft-delete and > background garbage collection (separate task). > Is there any documentation on that? It sounds like this is exactly what you need to do. The Yaffs Direct stuff does not expose background gc. I will work up the code & some explanation to do that today. You will basically have a function that you put in a thread and call occasionally. Regards -- Charles > > Thanks much, > Ed > > > Hello Ed > > > > NOR is very slow to erase and this is what is causing the issues. > > > > > > On Tue, May 6, 2014 at 6:15 AM, Ed Sutter > > > > > wrote: > > > > Hi, > > I have YAFFS running in standalone mode for about a year now. > > My underlying memory is NOR, and generally speaking I see a > > write rate of about 1Mbyte every 3 seconds. I have not tuned > > the underlying flash accesses so I'm sure there's room for > > improvement there. > > > > The problem I am having is that as I add files (and remove them) > > I notice more and more that the 3 seconds turns into 10-15 > > seconds occasionally. I assume yaffs is doing some garbage > > collection; however it seems to occure a lot more often than > > necessary. Is garbage collection likely the culprit? If yes, > > is there any tuning that can be done to adjust how often that > > is done? > > > > > > There is some tuning, but perhaps a better option is to get a > > background thread going for doing the gc. This will clean the decks > > for writes to occur unimpeded. > > > > How full is the file system? > > > > > > Also, is it correct to observe that the removal of a file takes > > essentially the same amount of time as adding a file? > > > > > > Are you using Yaffs1 mode of operation? When a file is deleted the > > chunks are marked deleted and when all the chunks in a file are > > deleted, the erasure will occur. This can take some time. > > > > > > Are you using the "soft delete" feature? This defers the actual > > deletion, but unless you have background gc running, this will just > > move the delays into the gc. > > > > Let's see what we can work out here. > > > > Regards > > > > Charles > > _______________________________________________ > yaffs mailing list > yaffs@lists.aleph1.co.uk > http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs