Trying to reduce booting time with JFFS2 summary.

Dhinakaran K Dhinakaran.K at Lntemsys.com
Mon Dec 21 10:57:54 EST 2009


Hi ALL,
        I'm trying to reduce linux booting time, using JFFS2 block summary 
option, but unfortunately unable to do so. Below is description of my 
setup and test procedure. Please comment / suggest.

SETUP:
        Processor       :       MPC8313e
        OS              :       linux-2.6.20  (Freescale-LTIB 
ltib-mpc8313erdb-20070824)
        Flash           :       Nand Flash with 128KB block size.
        JFFS2           :       JFFS2 version 2.2. (NAND) (SUMMARY)  (C) 
2001-2006 Red Hat, Inc.

CONFIGURATION:
        Kernel          :       Enabled 
                                        Filesystems -> Miscellaneous fs -> 
JFFS2 -> Summary support
        RFS image       :       Converted using
                                        sumtool -b -irootfs.jffs2 
-oout-sum.jffs2 -e128KiB

Observation:
        With the above mentioned setup and configuration, it almost takes 
40secs to prompt for login. Surprisingly even without JFFS2 block summary 
support, it takes almost same time. 

To have a closer look I just enabled kernel debug printk timestamps(shown 
below) for both with and without summary. Looks like there is some 
improvement in kernel tick level, but no improvement in boot time in terms 
of secs.
 
                Without summary support
[    0.000000] IPIC (128 IRQ sources) at fdefa700
[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[   31.015118] Dentry cache hash table entries: 16384 (order: 4, 65536 
bytes)
[   31.015892] Inode-cache hash table entries: 8192 (order: 3, 32768 
bytes)
:
:
:
:
[   35.856826] Freeing unused kernel memory: 144k init
:
:       < takes quite a lot of time here >
:
[   60.255748] JFFS2 notice: (769) check_node_data: wrong data CRC in data 
node at 0x0037c000: read 0x7885983e, calculated 0x

                With summary support
[    0.000000] IPIC (128 IRQ sources) at fdefa700
[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[   14.757860] Dentry cache hash table entries: 16384 (order: 4, 65536 
bytes)
[   14.758634] Inode-cache hash table entries: 8192 (order: 3, 32768 
bytes)
:
:
:
[   19.363823] Freeing unused kernel memory: 144k init
:
:       < takes quite a lot of time here >
:
[   43.785920] JFFS2 notice: (776) check_node_data: wrong data CRC in data 
node at 0x003a1800: read 0x64066ebe, calculated 0x



Though there is significant improvement in timing(kernel tick) during hash 
manipulation(see 3rd lines of respective logs) finally when frees unused 
memory it takes long nap, and finally it looks like there is not 
improvement in boot time. Even after googling I'm left with no clues as of 
whats happening. Has someone got to suggest / comment please do reply to 
this post.

P.S: For detailed log please see the attachment.








Warm Regards
Dhinakaran  K 
Software Engineer,  EmSyS                                ( :  +91 821 240 
5638 
Larsen and Toubro Limited, Mysore Campus           ( :  +91 821 240 5489
KIADB Industrial Area, Hebbal - Hootagalli           Ê    :  +91 821 
2403752 
Mysore - 570 018                                    š   : 
Dhinakaran.K at Lntemsys.com
India                                                                 ý  : 
 http://www.Lntemsys.com
 
This mail is classified as 
L&T EmSyS Proprietary                 L&T EmSyS Internal Use 
L&T EmSyS Confidential                 L&T EmSyS General Business 
 
 
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Jffs2Summary.zip
Type: application/zip
Size: 7429 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20091221/dc316f86/attachment.zip>


More information about the linux-mtd mailing list