JFFS2 garbage collector blocking for minutes after mount

Martin Egholm Nielsen martin at egholm-nielsen.dk
Fri Jul 22 10:47:21 EDT 2005


Hi there,

>>I'm not comfortable with profiling the kernel... It could be arranged, 
>>but I rather see if the a recent CVS snapshot does it for me... ;-)

> Profiling isn't hard or intrusive -- all you need to do is boot with
> something like 'profile=1' on the kernel command line, then
> read /proc/profile after the GC thread has finished doing its thing.
> 
> Then the readprofile tool will be able to tell you where the time was
> spent.

First of all, I patched my 2.4.20 kernel with CVS head from today 
(2005-07-22) - it took some time, but it surely seems to work...

That reduced the mount time of my "spoiled" flash from 8m45s 
(jffs2_gcd_mtd0) to some 45seconds! So that was a factor of ~10 in 
speed! That's more or less acceptable... (I really hope my patchin 
didn't spoil some other parts!)

Second, I tried running the profiling - *with* the new kernel/mtd 
source. The time consumers are - sorted by clock ticks:

47695	idled			384,63710
2997	nand_read_buf		62,43750
1122	nand_calculate_ecc	5,84380
677	__delay			33,85000
502	nand_do_read_ecc	0,26370

Right?!

BR,
  Martin





More information about the linux-mtd mailing list