jffs2 fragmentation

Jörn Engel joern at wohnheim.fh-wedel.de
Fri Oct 31 06:24:21 EST 2003


On Thu, 30 October 2003 18:53:08 +0000, David Woodhouse wrote:
> On Sat, 2003-10-18 at 09:20 -0500, J B wrote:
> > Normally, a rm/cp pair takes about 2 minutes on my system.  After about 10 
> > iterations, the copies begin to take longer, about 3-4 minutes.   After 
> > about 10 iterations they take upwards of 1/2 an hour.
> 
> I suspect you've triggered the worst case of a performance bug which
> I've known about for a while.
> 
> We should write new data out to one empty block, while writing out
> garbage-collected data out to another. We don't do that at the moment;
> we interleave old and new data and then you erase your new file, leaving
> us with a very suboptimal mix of valid and obsolete nodes in each
> eraseblock we've been writing to.
> 
> I'm still a bit surprised it takes half an hour though. 

If your explanation is correct, a shift from 4 to 28 minutes would
correspond to 6 clean nodes reused for every 1 dirty node deleted and
new node written.

Doesn't make a lot of sense with a filesystem that should be >80% free
or dirty, does it?

Jörn

-- 
Fools ignore complexity.  Pragmatists suffer it.
Some can avoid it.  Geniuses remove it.
-- Perlis's Programming Proverb #58, SIGPLAN Notices, Sept.  1982



More information about the linux-mtd mailing list