2010-04-23 04:28:34     uclinux memeroy questions!!

2010-04-23 04:28:34     uclinux memeroy questions!!

steven O (AFGHANISTAN)

Message: 88809   

hi :

when i write datas to usb storage device, the following oop message is printing.  it seems that the kwapd is scheduled when the free meroy is too few. somebody can tell me how to solve it? and is there some bugs in the malloc mechanism of the 2.6.x version linux? thanks

usb 1-1: reset full speed USB device using isp116x-hcd and address 2

mdev: page allocation failure. order:9, mode:0x40d0

Hardware Trace:

   0 Target : <0x00004788> { _dump_stack + 0x0 }

     Source : <0x0002d1ee> { ___alloc_pages + 0x17e }

   1 Target : <0x0002d1ee> { ___alloc_pages + 0x17e }

     Source : <0x0000d70a> { _printk + 0x16 }

   2 Target : <0x0000d706> { _printk + 0x12 }

     Source : <0x0000d5bc> { _vprintk + 0x1b8 }

   3 Target : <0x0000d5b0> { _vprintk + 0x1ac }

     Source : <0xffa08dc8> { __common_int_entry + 0xd8 }

   4 Target : <0xffa08d66> { __common_int_entry + 0x76 }

     Source : <0xffa08b98> { _return_from_int + 0x58 }

   5 Target : <0xffa08b98> { _return_from_int + 0x58 }

     Source : <0xffa08b6e> { _return_from_int + 0x2e }

   6 Target : <0xffa08b40> { _return_from_int + 0x0 }

     Source : <0xffa08d62> { __common_int_entry + 0x72 }

   7 Target : <0xffa08d60> { __common_int_entry + 0x70 }

     Source : <0xffa084ae> { _asm_do_IRQ + 0x6a }

   8 Target : <0xffa084a6> { _asm_do_IRQ + 0x62 }

     Source : <0x000117f6> { __local_bh_enable + 0x3e }

   9 Target : <0x000117b8> { __local_bh_enable + 0x0 }

     Source : <0x00011900> { ___do_softirq + 0x94 }

  10 Target : <0x000118f8> { ___do_softirq + 0x8c }

     Source : <0x000118d8> { ___do_softirq + 0x6c }

  11 Target : <0x000118cc> { ___do_softirq + 0x60 }

     Source : <0x000119e0> { _tasklet_action + 0x7c }

  12 Target : <0x000119da> { _tasklet_action + 0x76 }

     Source : <0x000119b6> { _tasklet_action + 0x52 }

  13 Target : <0x000119b4> { _tasklet_action + 0x50 }

     Source : <0x0001b2c2> { ___rcu_process_callbacks + 0xb6 }

  14 Target : <0x0001b2bc> { ___rcu_process_callbacks + 0xb0 }

     Source : <0x0001b252> { ___rcu_process_callbacks + 0x46 }

  15 Target : <0x0001b24e> { ___rcu_process_callbacks + 0x42 }

     Source : <0x0001b2ea> { ___rcu_process_callbacks + 0xde }

Stack from 01c47d00:

        0037b5c0 0002d1f2 00000000 00000001 000040d0 0037b74c 00000009 000040d0

        00000000 00225924 00000000 000240d0 01c46000 00000000 00000000 00000077

        0002d2c2 00104000 00104000 0318e3c0 00000000 00000002 00000000 00000000

        00032e0a 00104000 00225920 00032f68 00103465 00000000 00017440 00000002

        01c47da4 00655da0 00104fff 0019dd2c 00000000 002693b4 00000001 000541e0

        0005e1ea 00000005 00017cf0 00648400 01c46000 00103465 00000000 00017440

Call Trace:

[<0001fee7>] _create_new_namespaces+0x97/0xbc

[<00003d2a>] _bfin_free_exception+0x1a/0x30

[<0000f4a8>] _do_wait+0x434/0x998

[<00097e41>] _smb_add_request+0x2bd/0x4cc

[<000200d2>] _srcu_read_lock+0x16/0x18

[<00104000>] _sr_read_tochdr+0x44/0xb4

[<00103465>] _sr_probe+0x455/0x4dc

[<00037092>] _vfs_read+0xc6/0xf4

[<0006b620>] _ext2_update_inode+0x4c/0x278

[<000200d2>] _srcu_read_lock+0x16/0x18

[<00080151>] _nfs_xdr_symlinkargs+0xcd/0x248

[<0001fff2>] _copy_namespaces+0x6/0xa0

[<000399a2>] _search_binary_handler+0x82/0x140

[<0003af1e>] _do_execve+0x1b2/0x1f0

[<00019dfa>] _____call_usermodehelper+0xb2/0xc0

[<00001686>] _kernel_thread_helper+0x6/0xc

Mem-info:

DMA per-cpu:

CPU    0: Hot: hi:   18, btch:   3 usd:  17   Cold: hi:    6, btch:   1 usd:   5

Active:39 inactive:822 dirty:12 writeback:807 unstable:0

free:9388 slab:822 mapped:0 pagetables:0 bounce:0

DMA free:37552kB min:928kB low:1160kB high:1392kB active:156kB inactive:3288kB present:53848kB pages_scanned:192 all_unreclaimable? no

lowmem_reserve[]: 0 0

DMA: 96*4kB 82*8kB 58*16kB 52*32kB 78*64kB 68*128kB 41*256kB 13*512kB 3*1024kB 0*2048kB 0*4096kB 0*8192kB 0*16384kB 0*32768kB = 37552kB

13568 pages of RAM

9439 free pages

771 reserved pages

853 pages shared

0 pages swap cached

Allocation of length 1064960 from process 245 failed

DMA per-cpu:

CPU    0: Hot: hi:   18, btch:   3 usd:  17   Cold: hi:    6, btch:   1 usd:   5

Active:39 inactive:822 dirty:12 writeback:807 unstable:0

free:9388 slab:822 mapped:0 pagetables:0 bounce:0

DMA free:37552kB min:928kB low:1160kB high:1392kB active:156kB inactive:3288kB present:53848kB pages_scanned:192 all_unreclaimable? no

lowmem_reserve[]: 0 0

DMA: 96*4kB 82*8kB 58*16kB 52*32kB 78*64kB 68*128kB 41*256kB 13*512kB 3*1024kB 0*2048kB 0*4096kB 0*8192kB 0*16384kB 0*32768kB = 37552kB

Unable to allocate RAM for process text/data, errno 12

QuoteReplyEditDelete

2010-04-23 11:18:18     Re: uclinux memeroy questions!!

Robin Getz (UNITED STATES)

Message: 88824   

Steven:

Add more physical memory to your board - or determine what is causing the fragmentation - and fix that (application which calls malloc/free too often). You seem to have lots and lots and lots of small pages, but not big ones.

-Robin

QuoteReplyEditDelete

2010-04-24 05:25:38     Re: uclinux memeroy questions!!

steven O (AFGHANISTAN)

Message: 88858   

thanks for  your answer.

but i can't find where had called malloc/free often?  my program just write file into the usb hard disk. looking the oops message, all the functions is belong to kernel. Is kswapd called in this case ? the process of my  program was not killed, but the system process was killed.

Are some configurations in the kernel needed to config? thanks.

the attachment is my program file.

test.c

QuoteReplyEditDelete

2010-04-24 21:32:26     Re: uclinux memeroy questions!!

Mike Frysinger (UNITED STATES)

Message: 88862   

doing a lot of filesystem operations will fragment memory over time.  your choices are to install more memory, or dont launch new applications.  mdev was launched in response to a usb event, so if you want that functionality, you'd have to disable mdev auto launching and integrate the event processing into your own main app via netlink.

QuoteReplyEditDelete

2010-04-28 05:15:11     Re: uclinux memeroy questions!!

steven O (AFGHANISTAN)

Message: 88991   

thanks for your advices. the bug has be solved!

  • Created
Was this helpful?

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.