2011-03-28 17:42:41 BF-537 Memory allocation problem
Andrew Melim (UNITED STATES)
Message: 99384
I'm running into an issue when trying to malloc some memory while running a program. The part that puzzles me is that I'm only trying to allocate 311296 byets, but the trace is showing I have one 512kb block free. Can anyone enlighten me as to what the issue could be? Below is the trace I get during the failure.
SIFT: page allocation failure. order: 7, mode:0x40d0
Hardware Trace:
0 Target : <0x00403ab0> { _dump_stack + 0x0 }
Source : <0x00430a5e> { ___alloc_pages_internal + 0x1b2 } CALL pcrel
1 Target : <0x00430a5e> { ___alloc_pages_internal + 0x1b2 }
Source : <0x0040fa8a> { _printk + 0x16 } RTS
2 Target : <0x0040fa86> { _printk + 0x12 }
Source : <0x00410340> { _vprintk + 0x144 } RTS
3 Target : <0x00410334> { _vprintk + 0x138 }
Source : <0xffa00d10> /* kernel dynamic memory */
4 Target : <0xffa00cae> /* kernel dynamic memory */
Source : <0xffa00af8> /* kernel dynamic memory */
5 Target : <0xffa00af8> /* kernel dynamic memory */
Source : <0xffa00ace> /* kernel dynamic memory */
6 Target : <0xffa00aa0> /* kernel dynamic memory */
Source : <0xffa00caa> /* kernel dynamic memory */
7 Target : <0xffa00ca8> /* kernel dynamic memory */
Source : <0xffa0034e> /* kernel dynamic memory */
8 Target : <0xffa00346> /* kernel dynamic memory */
Source : <0x00413b5e> { __local_bh_enable + 0x3e } RTS
9 Target : <0x00413b20> { __local_bh_enable + 0x0 }
Source : <0x00413c44> { ___do_softirq + 0x9c } JUMP.L
10 Target : <0x00413c3c> { ___do_softirq + 0x94 }
Source : <0x00413c20> { ___do_softirq + 0x78 } IF !CC JUMP
11 Target : <0x00413c02> { ___do_softirq + 0x5a }
Source : <0x004170b0> { _run_timer_softirq + 0x128 } RTS
12 Target : <0x004170a8> { _run_timer_softirq + 0x120 }
Source : <0x005179e0> { __spin_unlock_irq + 0x18 } RTS
13 Target : <0x005179d0> { __spin_unlock_irq + 0x8 }
Source : <0x00491b72> { __raw_spin_unlock + 0x4e } RTS
14 Target : <0x00491b24> { __raw_spin_unlock + 0x0 }
Source : <0x005179cc> { __spin_unlock_irq + 0x4 } CALL pcrel
15 Target : <0x005179c8> { __spin_unlock_irq + 0x0 }
Source : <0x004170a4> { _run_timer_softirq + 0x11c } CALL pcrel
Stack info:
SP: [0x005f5dfc] <0x005f5dfc> { ___con_initcall_end + 0x32cc0 }
FP: (0x005f5dfc)
Memory from 0x005f5df0 to 005f6000
005f5df0: 00000007 005f5dfc 00aa33a0 [00000000]<00430a62> 00aa33a0 00000000 000240d0
005f5e10: 00aa3588 00000007 000040d0 00000001 00000048 005f4000 005f4000 00000000
005f5e30: 000240d0 005f4000 00000010 00000000 00000000 00000000 00000000 005fea20
005f5e50:<00430b8a> 00000000 0004c000 0004c000 00000004 04000021 00000000 00000003
005f5e70:<004381d6> 00000000 00000004 00000000 <004383b8> 00000000 00000000 00000000
005f5e90: 04000021 00000000 00000000 00000000 00000073 00000000 005e35c0 00c8c580
005f5eb0: 005f5ed4 0140907c <00402868> 00000000 0004c000 011b7aa4 005f4000 04000021
005f5ed0: 00000000 00000003 00aa33a0 00c8c580 00000006 00000003 04000021 00000000
005f5ef0: ffa0096c 00402820 000000c0 00000000 ffffe000 00000000 00000000 ffffe000
005f5f10: 00000000 0000fffe 04000021 00000000 00000000 011c49aa 00008000 00000000
005f5f30: 00000000 005f6000 011c49aa 011c49aa <011c8f12> ffa00ee0 02003025 010024e1
005f5f50: 011bfb31 010024e0 011bfb24 00000000 00000000 00000000 00000000 00000000
005f5f70: 00000000 00000020 00000000 01280560 0124d692 00000010 00000000 00000000
005f5f90: 00000000 0124d694 0124d550 00000000 00000001 0124d7c6 00000000 00000500
005f5fb0: 00000000 01409070 0140907c 00000000 011b7ef8 011b7aa4 04000021 00000000
005f5fd0: 000000c0 014090a4 0004c000 00000000 00000000 04000021 00000003 0004c000
005f5ff0: 00000000 00000000 000000c0 00000006
Return addresses in stack:
frame 1 : <0x00430a62> { ___alloc_pages_internal + 0x1b6 }
address : <0x00430b8a> { ___get_free_pages + 0x1e }
address : <0x004381d6> { _do_mmap_pgoff + 0x372 }
address : <0x004383b8> { _do_mmap_pgoff + 0x554 }
address : <0x00402868> { _sys_mmap2 + 0x48 }
address : <0x011c8f12> [ SIFT + 0x1c8ed2 ]
Mem-Info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
Active_anon:0 active_file:1191 inactive_anon:0
inactive_file:125 dirty:0 writeback:0 unstable:0
free:297 slab:436 mapped:0 pagetables:0 bounce:0
DMA free:1188kB min:672kB low:840kB high:1008kB active_anon:0kB inactive_anon:0kB active_file:4764kB inactive_file:500kB present:28444kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 15*4kB 7*8kB 1*16kB 1*32kB 0*64kB 0*128kB 2*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB 0*16384kB 0*32768kB = 1188kB
1318 total pagecache pages
7167 pages RAM
1526 pages reserved
2 pages shared
5325 pages non-shared
Allocation of length 311296 from process 179 failed
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
Active_anon:0 active_file:1191 inactive_anon:0
inactive_file:125 dirty:0 writeback:0 unstable:0
free:297 slab:436 mapped:0 pagetables:0 bounce:0
DMA free:1188kB min:672kB low:840kB high:1008kB active_anon:0kB inactive_anon:0kB active_file:4764kB inactive_file:500kB present:28444kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 15*4kB 7*8kB 1*16kB 1*32kB 0*64kB 0*128kB 2*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB 0*16384kB 0*32768kB = 1188kB
1318 total pagecache pages