Re: JFFS2 garbage collector blocking for minutes after mount

Martin Egholm Nielsen
2005-07-22T14:48:33Z

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