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
> > <ed.sutter@alcatel-lucent.com <mailto:ed.sutter@alcatel-lucent.com>>
> > 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