page allocation failure: order:2, mode:0x4020


My console and log files are filled with this message. The process involved varies, but it always happens when the system is a little stressed.

I can easily reproduce it by running dd on a sata disk

root@plug:~# dd if=/dev/zero of=/dev/sdb bs=1M
^C3819+0 records in
3819+0 records out
4004511744 bytes (4.0 GB) copied, 37.636 s, 106 MB/s

The speed seems to be OK and top gives:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 3419 root      20   0  4472 1608  496 R 66.4  0.3   0:24.32 dd

And the log reads:

plug kernel: dd: page allocation failure: order:2, mode:0x4020
plug kernel: [<c000d070>] (unwind_backtrace+0x0/0xe0) from [<c0083e84>] (warn_alloc_failed+0xf4/0x120)
plug kernel: [<c0083e84>] (warn_alloc_failed+0xf4/0x120) from [<c008613c>] (__alloc_pages_nodemask+0x544/0x65c)
plug kernel: [<c008613c>] (__alloc_pages_nodemask+0x544/0x65c) from [<c0086264>] (__get_free_pages+0x10/0x3c)
plug kernel: [<c0086264>] (__get_free_pages+0x10/0x3c) from [<c00af028>] (kmalloc_order_trace+0x20/0xd0)
plug kernel: [<c00af028>] (kmalloc_order_trace+0x20/0xd0) from [<c0373808>] (__alloc_skb+0x50/0xf0)
plug kernel: [<c0373808>] (__alloc_skb+0x50/0xf0) from [<c0373cdc>] (__netdev_alloc_skb+0x1c/0x44)
plug kernel: [<c0373cdc>] (__netdev_alloc_skb+0x1c/0x44) from [<c0304134>] (rxq_refill+0x1b8/0x1d8)
plug kernel: [<c0304134>] (rxq_refill+0x1b8/0x1d8) from [<c0304924>] (mv643xx_eth_poll+0x5d8/0x660)
plug kernel: [<c0304924>] (mv643xx_eth_poll+0x5d8/0x660) from [<c037cecc>] (net_rx_action+0x5c/0x204)
plug kernel: [<c037cecc>] (net_rx_action+0x5c/0x204) from [<c001b208>] (__do_softirq+0xf4/0x240)
plug kernel: [<c001b208>] (__do_softirq+0xf4/0x240) from [<c001b784>] (irq_exit+0x44/0x9c)
plug kernel: [<c001b784>] (irq_exit+0x44/0x9c) from [<c0009418>] (handle_IRQ+0x64/0x84)
plug kernel: [<c0009418>] (handle_IRQ+0x64/0x84) from [<c044c4d4>] (__irq_svc+0x34/0x98)
plug kernel: [<c044c4d4>] (__irq_svc+0x34/0x98) from [<c024e264>] (__copy_from_user+0x90/0x42c)
plug kernel: Mem-info:
plug kernel: Normal per-cpu:
plug kernel: CPU    0: hi:  186, btch:  31 usd:   5
plug kernel: active_anon:2649 inactive_anon:2688 isolated_anon:0
plug kernel: active_file:4439 inactive_file:112238 isolated_file:0
plug kernel: unevictable:0 dirty:10295 writeback:3201 unstable:0
plug kernel: free:967 slab_reclaimable:2602 slab_unreclaimable:879
plug kernel: mapped:2141 shmem:35 pagetables:150 bounce:0
plug kernel: Normal free:3868kB min:2884kB low:3604kB high:4324kB active_anon:10596kB inactive_anon:10752kB acti
ve_file:17756kB inactive_file:448952kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:520192kB mlocked:0kB dirty:
41180kB writeback:12804kB mapped:8564kB shmem:140kB slab_reclaimable:10408kB slab_unreclaimable:3516kB kernel_stack:544kB pageta
bles:600kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
plug kernel: lowmem_reserve[]: 0 0
plug kernel: Normal: 901*4kB 1*8kB 2*16kB 1*32kB 1*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 386
plug kernel: 116720 total pagecache pages
plug kernel: 0 pages in swap cache
plug kernel: Swap cache stats: add 0, delete 0, find 0/0
plug kernel: Free swap  = 526996kB
plug kernel: Total swap = 526996kB
plug kernel: 131072 pages of RAM
plug kernel: 1115 free pages
plug kernel: 2761 reserved pages
plug kernel: 3260 slab pages
plug kernel: 119397 pages shared
plug kernel: 0 pages swap cached

It happens with kernel 3.4.7 and, so it's old. Beside the fact that it annoys me because it fills the log, should I worry?


Just to clarify, this doesn't happen with the Debian kernel

Linux version 2.6.32-5-kirkwood (Debian 2.6.32-46) ( (gcc version 4.3.5 (Debian 4.3.5-4) )

coming from

dd if=/dev/zero of=/dev/sda bs=1M
^C122886+0 records in
122886+0 records out
128855310336 bytes (129 GB) copied, 966.649 s, 133 MB/s

And not a single message.



It happens indeed with the stock Debian kernel, just not as frequently.



[0] Message Index