JFFS2: mount time, SUMMARY and gc.c ?
Artem B. Bityuckiy
dedekind at infradead.org
Fri Jan 7 14:24:04 EST 2005
On Fri, 7 Jan 2005, Steven Scholz wrote:
> Artem B. Bityuckiy wrote:
>
> >>But still why is it done everytime I boot my target?
> >
> > This is how JFFS2 implemented. It skips nodes CRC checking during mount
> > and does this lated in background. Actually, you can't write anything to
> > your flash untill the GC thread (jffs2_gcd_mtd0) have not completed
> > checking. But you may read from JFFS2 during that checking process.
>
> Well but "in background" means 99.9% of cpu time!
At first, if *anybody* tries to write to JFFS2 before it has done
checking,
it will be blocked. So if boot processes try to write...
But in your case the GC thread eats CPU...
> And this slows down the start up of important user applications.
You may try to increase the nice value... It is currently hardcoded to
10 in background.c (search for set_user_nice)...
>
> Would it help to enable CONFIG_PREEMPT
Don't know, try it. Hope JFFS2 works well with it. I didn't try. I tried
only SMP and JFFS2 has some locking bugs. MAy be UP+preempt will work
fine - some locking bugs were recently fixed.
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
More information about the linux-mtd
mailing list