2.4.19 rmk4 Jffs2 Performance problems, Upgrade diffulculty.
RobertS
RobertS at visi.com
Mon Mar 10 17:56:33 EST 2003
Hello,
I have been a content user of the kernel version 2.4.19 rmk4 for
several months. Everything has been working quite well.
My configuration is a Arm720t processor, 8 meg of 32 bit wide NOR
Flash, 16 meg of ram ( 4 meg ramdisk).
Half of the Flash is reserved for a JFFS2 file system.
The problem that I have encountered has been the time it takes to
write a single large file into the JFFS2 file system. It takes
approximately 4 minutes to write a single 1 meg file into the file
system. Writing a second file of the same size takes approximately 8
minutes. Each time I add another large file, it takes progressively
longer. I am seeing about a 60% compression on those files.
I thought that this performance may have been improved with the
current version of the jffs2 files so I got the tar files,
mtd-snapshot-20030305.tar, and updated my configuration. Now I am not
able to copy any large files.
I am running an almost pristine copy of 2.4.19 rmk4.
I have applied the patch, linux-2.4.19-pre10-shared-zlib.
I have updated to mtd-snapshot-20030305.tar.
Using the latest mkfs.jffs2.
This is the sequence of events
# mount -t jffs2 /dev/mtdblock0 /home
# cp test_file home
Unable to handle kernel paging request at virtual address e5962018
pgd = c06e4000
*pgd = 00000000, *pmd = 00000000
Internal error: Oops: ffffffff
CPU: 0
pc : [<c0136ac8>] lr : [<c0136794>] Not tainted
sp : c06e9d88 ip : 00000000 fp : 00000000
r10: c07c7ba5 r9 : 00000009 r8 : 00000015
r7 : 00000005 r6 : c01749bc r5 : c186401c r4 : e5962008
r3 : c1865240 r2 : c1864a40 r1 : 00000005 r0 : 00000008
Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 217F Table: C06E4015 DAC: 00000015
Process cp (pid: 23, stack limit = 0xc06e8368)
Stack: (0xc06e9d88 to 0xc06ea000)
Stack: (0xc06e9d88 to 0xc06ea000)
9d80: 00000000 c0136794 c01749bc c06e9db0 c06e9dac
c1864a40
9da0: c01749bc c1867740 000000a3 c1865240 c1864a40 00000005 00000008
00000000
9dc0: 000acc48 c0015b5c 000000e8 c01749bc fffffffb 00000005 00000000
c07c7b60
9de0: 00000000 00000000 c0d54b60 c0137a20 c07c7b60 000000e8 fffffff1
c00a0428
9e00: 000000e8 c07c7a60 c06a1100 c009f778 c00a451c 00000100 c07c7b60
00000100
9e20: c069d000 000000e8 c06d85f0 c0d54b60 00001000 00000000 c06efe7c
c069d000
9e40: c07b04bc 00002000 c01a2318 c00a475c 00000000 c01a2318 c01a2330
c06a4ab0
9e60: c07b04bc 00000000 00001000 c06a49a0 c00a2884 00001000 00000100
00000000
9e80: c06a4ab0 c06a49a0 c00a2d6c c017c84c 0000075a c00c40e0 c06a49e4
00001000
9ea0: 00000000 00000100 00000000 00000002 00000000 00000400 c00c2800
c06e9f04
9ec0: 00000000 00000001 00000004 c0063890 000003ec c008568c c0d27b00
20000013
9ee0: c0160228 00000041 00000000 c015fff4 000001d2 00000100 c0160224
00000100
9f00: c0162c64 c01a2318 00001000 00000000 c069d000 00000100 c06a49a0
00000100
9f20: c00553c0 c0053604 c06e9f5c 00000100 c01a2330 c001d0ec 00000000
c06a4a08
9f40: fffffff4 00000000 c06a4a44 c07b25c0 bffffc2c c07b25a0 00000000
1a000100
9f60: c07b25c0 c07b25a0 ffffffea 00000000 00000100 c06e8000 bffffc2c
00000000
9f80: c0060638 c0170860 c00453dc 00000100 00000100 00080f80 00000004
c0036724
9fa0: 00080000 c00365a0 00000100 c00363e8 00000004 bffffc2c 00000100
0004a618
9fc0: 00000100 00000100 00080f80 bffffc2c 00000100 bffffc2c 00080000
00000000
9fe0: 00006050 bffffbd4 0004a310 00053c84 20000010 00000004 00000000
00000000
Backtrace: no frame pointer
Code: e92d4010 e59d4004 e5944020 e3a0c000 (e5c40010)
Segmentation fault
#
Piece of my Ssytem.map
c0135f70 T zlib_inflate_blocks_reset
c0135fe8 T zlib_inflate_blocks_new
c0136034 T zlib_inflate_blocks
c0136a68 T zlib_inflate_blocks_free
c0136a7c T zlib_inflate_set_dictionary
c0136aa4 T zlib_inflate_blocks_sync_point
c0136ab8 T zlib_inflate_codes_new
c0136ae4 T zlib_inflate_codes
c013717c T zlib_inflate_codes_free
When I reboot I get this error.
# mount -t jffs2 /dev/mtdblock0 /home
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0000:
0x2003 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0004:
0x000c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0008:
0xdc6d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0000:
0x2003 id
....
# // at this time, I cannot write anything to the jffs2 filesystem.
The oops error seems to be consistently at zlib_inflate_codes_new + 0x10.
Have I missed something? Before I updated, I could very reliably write
files, albeit very slow for the large file (>1 meg.). Now I am unable to
write reliably at all.
Thanks,
RobertS
More information about the linux-mtd
mailing list