JFFS2 very slow when erasing
Joakim Tjernlund
joakim.tjernlund at transmode.se
Thu Oct 7 02:57:40 EDT 2010
With 2.6.35 JFFS2 takes a very long time cp files while it erases:
cp big_file test
rm test
cp big_file test
The last cp op. takes several times longer because JFFS2 is erasing.
Revering the patches I helped out with make JFFS2 go fast again:
jffs2: Stop triggering block erases from jffs2_write_super()
jffs2: Rename jffs2_erase_pending_trigger() to jffs2_dirty_trigger()
jffs2: Use jffs2_garbage_collect_trigger() to trigger pending erases
jffs2: Require jffs2_garbage_collect_trigger() to be called with lock held
jffs2: Wake GC thread when there are blocks to be erased
jffs2: Erase pending blocks in GC pass, avoid invalid -EIO return
The final patches were somewhat different than the ones I originally wrote
and I THINK those didn't make JFFS2 go this slow.
I suspect there is a locking problem somewhere.
Jocke
More information about the linux-mtd
mailing list