FW: Page Allocation Failure, Why?? Bug in kernel??

From: Abu M. Muttalib
Date: Thu Jun 01 2006 - 05:29:25 EST


Hi,

I tried to run an application, try-sound.c. In the course of the run of the
application I repeatedly got page allocation failure, despite the fact that
enough pages are free. Why this is so, is it a bug in mm subsystem of Linux
kernel 2.6.13?

The Page allocation failure is as follows:

insmod: page allocation failure. order:5, mode:0xd0
Mem-info:
DMA per-cpu:
cpu 0 hot: low 2, high 6, batch 1 used:5
cpu 0 cold: low 0, high 2, batch 1 used:1
Normal per-cpu: empty
HighMem per-cpu: empty
Free pages: 944kB (0kB HighMem)
Active:1611 inactive:279 dirty:0 writeback:0 unstable:0 free:236 slab:483
mapped:1378 pagetables:43
DMA free:944kB min:512kB low:640kB high:768kB active:6444kB inactive:1116kB
present:16384kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
Normal free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB
pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB
present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 106*4kB 11*8kB 5*16kB 3*32kB 2*64kB 1*128kB 0*256kB 0*512kB 0*1024kB =
944kB
Normal: empty
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 0kB
Total swap = 0kB
Free swap: 0kB
4096 pages of RAM
450 free pages
593 reserved pages
483 slab pages
291 pages shared
0 pages swap cached

Before this failure the /proc/buddyinfo is as follows:

Node 0, zone DMA 43 5 5 3 2 2 0
0 0

After the failure the /proc/buddyinfo is as follows:

Node 0, zone DMA 77 13 5 3 2 2 0
0 0

Any pointer to help understand this behavior will be highly appreciated.

~Abu.

Attachment: try-sound.c
Description: Binary data