JFFS2 & SMP

Artem B. Bityuckiy abityuckiy at yandex.ru
Wed Oct 27 10:09:08 EDT 2004


David Woodhouse wrote:
> I'm very interesting. Please try :)

Ok. My .config is attached.

I didn't localize the problem, but may just show that it exists.

I've attached a Perl script. This script just randomly creates/deletes 
different files/directories/nodes.

To see the problem, run the script:

./parall_rw_dir_only.pl -p <flash-mount-point> -n1

-n is the number of threads which will create/delete directory. The 
problem appears even if -n = 1.

Run the script and wait until your flash is full. When it is full, the 
script will print lots of messages like "cant create ...". Let the 
script work when flash is full several minutes. Then you may stop it (if 
you will be able).

You may see the problem in this point - JFFS2 will "forever" print a 
string: gc.c:

printk(KERN_WARNING "Raw node at 0x%08x wasn't in node lists for ino 
#%u\n", ref_offset(raw), f->inocache->ino);

But this is not every time. If All is OK, try to unmount your file 
system and unload the jffs2 module. I see the following in that case:

<4>VFS: Busy inodes after unmount. Self-destruct in 5 seconds.  Have a 
nice day...
<3>slab error in kmem_cache_destroy(): cache `jffs2_i': Can't free all 
objects
<4> [<021088a7>] dump_stack+0x17/0x20
<4> [<021566d5>] kmem_cache_destroy+0xd5/0x130
<4> [<02143fa4>] sys_delete_module+0x124/0x170
<4> [<fffeb262>] 0xfffeb262
<6>JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
<4>kmem_cache_create: duplicate cache jffs2_i
<4>------------[ cut here ]------------
<1>kernel BUG at mm/slab.c:1393!
<1>invalid operand: 0000 [#1]
<4>PREEMPT SMP DEBUG_PAGEALLOC
<4>Modules linked in: jffs2 zlib_deflate mtdchar nandsim nand mtdpart 
nand_ids mtdcore nand_ecc nfsd exportfs md5 ipv6 autofs4 nfs lockd 
sunrpc sk98lin microcode uhci_hcd ehci_hcd button battery asus_acpi ac 
sr_mod sd_mod ext3 jbd dm_mod ata_piix libata scsi_mod
<4>CPU:    0
<4>EIP:    0060:[<02155f7b>]    Not tainted
<4>EFLAGS: 00010202   (2.6.8-1.521smp-custom-preempt)
<4>EIP is at kmem_cache_create+0x60b/0x820
<4>eax: 0000002b   ebx: 105c2bf4   ecx: 024c4b98   edx: ffffffff
<4>esi: 12ae85b4   edi: 12ae85b4   ebp: 08043f80   esp: 08043f44
<4>ds: 007b   es: 007b   ss: 0068
<4>Process modprobe (pid: 24553, threadinfo=08043000 task=0b156a40)
<4>Stack: 02359400 12ae85ac 0ecfc738 00000000 00000001 ff000000 fffffffc 
0ecfc680
<4>       00000004 00001000 12ae85ac 00000000 02395308 12aed700 08043000 
08043f98
<4>       128481ac 80032c00 12ae19e0 00000000 02395308 08043fbc 02146003 
0a3b0d64
<4>Call Trace:
<4> [<0210887a>] show_stack+0x7a/0x90
<4> [<02108a05>] show_registers+0x155/0x200
<4> [<02108c44>] die+0x104/0x200
<4> [<0210907a>] do_invalid_op+0x9a/0xa0
<4> [<fffebf6e>] 0xfffebf6e
<4> [<128481ac>] init_jffs2_fs+0x3c/0xe0 [jffs2]
<4> [<02146003>] sys_init_module+0x153/0x2e0
<4> [<fffeb262>] 0xfffeb262
<4>Code: 0f 0b 71 05 98 8a 35 02 8b 0b e9 55 ff ff ff 8d b6 00 00 00


P.S. I don't use klogd.

Sorry for such bad bug report. May be I'll see this closer and try to 
dig up the problem.

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: parall_rw_dir_only.pl
Url: http://lists.infradead.org/pipermail/linux-mtd/attachments/20041027/dd5a33f7/attachment.pl 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: .config
Url: http://lists.infradead.org/pipermail/linux-mtd/attachments/20041027/dd5a33f7/attachment-0001.pl 


More information about the linux-mtd mailing list