First access to mounted jffs2 partition is slow

Will Wagner will_wagner at carallon.com
Tue Feb 12 06:33:33 EST 2008


Hello,

I have an ARM11 system with a JFFS2 partition in NAND flash. It works 
but the first time it is accessed after mounting it can be very slow.

These are the steps I am performing:

# flash_eraseall /dev/mtd4
Erasing 128 Kibyte @ 5fe0000 -- 99 % complete.
# time mount /dev/mtdblock4 /flash -t jffs2
real    0m 1.25s
user    0m 0.01s
sys     0m 0.13s
# time ls flash		- with an empty filsystem, this takes no time
real    0m 0.00s
user    0m 0.01s
sys     0m 0.00s
# cp /sdcard/bigfile flash/	- bigfile is ~8MB
# umount /flash
# time mount /dev/mtdblock4 /flash -t jffs2
real    0m 2.63s
user    0m 0.01s
sys     0m 0.50s
# time ls flash		- first time we do this it takes a long time
bigfile
real    0m 11.79s
user    0m 0.00s
sys     0m 0.18s
# time ls flash		- subsequent reads are fast
bigfile
real    0m 0.00s
user    0m 0.01s
sys     0m 0.00s


It was my understanding that the only slow step should be mounting the 
partition when it checks the entire filesystem. Is that correct? Is it 
normal that the first file operation on the partition is slow and then 
all others are fast? That the mount is slow is not a problem but would 
be good if we could make the first access faster even if it means the 
mount must get slower.

This is using Linux 2.6.19.2 with uClibc 0.9.29, busybox 1.9.0 and 
mtd-utils 1.1.0

Thanks,

Will.

-- 
------------------------------------------------------------------------
Will Wagner                                     will_wagner at carallon.com
Senior Project Engineer                  Office Tel: +44 (0)20 7371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------





More information about the linux-mtd mailing list