[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JFFS2: powerfailtesting again





David Woodhouse said:

> In JFFS2, we've shifted some data out of inode nodes into separate dirent
> nodes to reduce the size of the former. We also write _pages_ at a time. So
> if you append to a file, the GC doesn't have to merge the data; it'll be
> merge in the write call, which will rewrite data from the beginning of the
> changed page, obsoleting the original version of the page. I've since fixed
> the original reason for doing that - just haven't got round to optimising it
> out yet. It would be interesting to know if it's a win.

> What we probably ought to do is rewrite the page iff the previous node for
> that page isn't in the same erase block as the node we're writing.

I think this would help be a big win, especially for small writes.

On the SA-1110 based Assabet with Intel Strataflash, I am able to write about
40kB/s even with only 10 bytes per write until the garbage collection starts.
Then, for every 10 bytes, enough space for 4kB needs to be garbage collected.
Since a sector (256kB) erase takes about 1s, I can erase 64 pages/s.  This
allows only 10 bytes * 64 = 640 bytes/s to be written once the garbage
collection
starts.

Chris Lesiak
clesiak@xxxxxxx.com





To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com