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

Document created by Aaronwu Employee on Aug 21, 2013
Version 1Show Document
  • View in full screen mode

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!

Attachments

    Outcomes