Re: Jffs2 and big file = very slow jffs2_garbage_collect_pass

Jamie Lokier
2008-01-18T19:47:42Z

Jörn Engel wrote:
> > If we do a ls without waiting that jffs2_garbage_collect_pass finish, ls
> > takes 12 minutes to complete.
>
> Impressive! JFFS2 may be slow, but it shouldn't be _that_ slow. Not
> sure who cares enough to look at this. My approach would be to
> $ echo t > /proc/sysrq_trigger
> several times during those 12 minutes and take a close look at the code
> paths showing up. Most likely it will spend 99% of the time in one
> place.

I have seen similar slow GCs with JFFS2 on a 2.4.26-uc0 kernel (which
is very old now), just 1MB size, and of course no summary support. In
this case it wasn't 12 minutes, but about 1 minute with the GC thread
using 100% CPU. I saw it a couple of times. But that's much slower
than erasing and writing the whole 1MB, so it's possible there has
been a GC bug doing excessive flash operations which remains unfixed
for a very long time.

-- Jamie