Great jffs2 speedup
hinko.kocevar at cetrtapot.si
hinko.kocevar at cetrtapot.si
Wed Sep 28 05:36:13 EDT 2005
Hi,
We started using new CVS code that provides EBS and fragtree method.
Below are some measurements of mount times for old and new setup.
NAND partitions size tested were:
flash4 - 4Mb
flash5 - 12Mb
flash6 - 16Mb
OLD setup uses ~April 2005 MTD code, 2.6.11 kernel, no EBS and produces
following:
Mounting flash4 clean partition [1]
real 0m 0.83s
user 0m 0.01s
sys 0m 0.83s
-- -- -- -- -- -- -- -- -- --
Mounting flash4 dirty partition [2]
real 0m 8.37s
user 0m 0.01s
sys 0m 8.35s
-- -- -- -- -- -- -- -- -- --
Mounting flash5 clean partition
real 0m 2.70s
user 0m 0.02s
sys 0m 2.38s
-- -- -- -- -- -- -- -- -- --
Mounting flash5 dirty partition
real 0m 26.42s
user 0m 0.01s
sys 0m 26.40s
-- -- -- -- -- -- -- -- -- --
Mounting flash6 clean partition
real 0m 3.29s
user 0m 0.02s
sys 0m 3.16s
-- -- -- -- -- -- -- -- -- --
Mounting flash6 dirty partition
real 0m 35.81s
user 0m 0.01s
sys 0m 35.77s
-- -- -- -- -- -- -- -- -- --
On new setup - using yesterdays MTD CVS and 2.6.12 kernel with EBS enabled:
Mounting flash4 clean partition [1]
real 0m 3.75s
user 0m 0.02s
sys 0m 1.17s
-- -- -- -- -- -- -- -- -- --
Mounting flash4 dirty partition [2]
real 0m 0.75s
user 0m 0.02s
sys 0m 0.73s
-- -- -- -- -- -- -- -- -- --
Mounting flash5 clean partition
real 0m 3.55s
user 0m 0.02s
sys 0m 3.47s
-- -- -- -- -- -- -- -- -- --
Mounting flash5 dirty partition
real 0m 2.12s
user 0m 0.03s
sys 0m 2.08s
-- -- -- -- -- -- -- -- -- --
Mounting flash6 clean partition
real 0m 4.82s
user 0m 0.01s
sys 0m 4.63s
-- -- -- -- -- -- -- -- -- --
Mounting flash6 dirty partition
real 0m 2.82s
user 0m 0.01s
sys 0m 2.80s
-- -- -- -- -- -- -- -- -- --
Compared to old setup this is GREAAAAAT improvment (if my mesurements
are correct:). Great job!
This holds true /only/ if partition is erased beforehand and then
mounted, filled with files, umounted and mounted again to mesure mount
time for dirty partition. Mounting jffs2 partition filled on old setup
shows no performance improvement.
We found sumtool utility in tools dir and if my understanding is correct
it is used to convert jffs2 image with no EBS to jffs2 image with EBS.
Is this the only way to upgrade 'old' jffs2 partitions already in place
(on the nand flash) to use EBS? Thing is, we have several system up and
running in the wild and would like to upgrade jffs2 partitions
as-painless-as-possible, preferably without complete reflash of the systems.
I've just ran sumtool on old raw 4Mb mtd char device (containing jffs2
fs) and it produced 4Mb image on the output. I figure, if I copy this
image back to flash and test it with EBS supported kernel it should
recognize it as new jffs2 image and mount it super-fast. I still need to
erase the nand partition and gather enough ram for temporary EBS image
on the system and so this could be a problem in our setup.
regards,
hinko
[1] Mounting clean partition means that we erased the partition with
flash_eraseall and then mounted it. mount time was measured with 'time'.
[2] After cleaning up the partition, then creating, appending, erasing
several small files on it, we umounted the partition and mounted it
back. mount time was measured eith 'time'.
All partitions contained 150 - 700 few kbytes sizes files and were ~80 %
full when dirty.
More information about the linux-mtd
mailing list