Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020

From: Nikhil Sethi (ààààà àààà)
Date: Mon Nov 08 2010 - 11:26:29 EST


Thanks Eric, for all the help.
I get veryÂoccasionalÂerrors with vanilla 2.6.36 kernel with your
patch. Error messages are slightly different, and very rare compared
to without your patch. 2.6.35.7 seems fine, and does not show this
error.

rsync: page allocation failure. order:1, mode:0x4020
Pid: 31479, comm: rsync Not tainted 2.6.36-rc1 #1
Call Trace:
Â[<c0246b2c>] ? __alloc_pages_nodemask+0x3f1/0x52e
Â[<c0261330>] ? __slab_alloc+0x40f/0x45a
Â[<c02617ca>] ? __kmalloc_track_caller+0x91/0x97
Â[<d09db01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
Â[<d09db01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
Â[<c033a8d0>] ? __alloc_skb+0x57/0x100
Â[<d09db01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
Â[<d0b01f2e>] ? ath_rx_tasklet+0x680/0xcfe [ath9k]
Â[<c02234ae>] ? __queue_work+0xe4/0x1a2
Â[<d0b00244>] ? ath9k_tasklet+0xd0/0x134 [ath9k]
Â[<c0219a43>] ? tasklet_action+0x5f/0x65
Â[<c0219cf4>] ? __do_softirq+0x60/0xc6
Â[<c0219d88>] ? do_softirq+0x2e/0x30
Â[<c0219e7b>] ? irq_exit+0x54/0x56
Â[<c02038e0>] ? do_IRQ+0x3a/0x72
Â[<c0202bc9>] ? common_interrupt+0x29/0x30
Â[<c02d89a0>] ? cfq_may_queue+0x0/0x92
Â[<c02d1567>] ? get_request+0x121/0x23e
Â[<c02d16a4>] ? get_request_wait+0x20/0xfd
Â[<c02d8f16>] ? cfq_merge+0x0/0x69
Â[<c02cfd40>] ? elv_merge+0x14b/0x170
Â[<c02d2375>] ? __make_request+0x71/0x364
Â[<c02d1fe2>] ? generic_make_request+0x14f/0x318
Â[<c0243fb1>] ? mempool_alloc+0x35/0xb9
Â[<c02d21e9>] ? submit_bio+0x3e/0x90
Â[<c0281c14>] ? bio_alloc_bioset+0x33/0x9e
Â[<c027e780>] ? submit_bh+0xbc/0xec
Â[<c027f4e2>] ? ll_rw_block+0x72/0x74
Â[<c027f504>] ? __breadahead+0x20/0x30
Â[<c02a3a8f>] ? __ext4_get_inode_loc+0x308/0x416
Â[<c02a8154>] ? ext4_iget+0x52/0x652
Â[<c02aa327>] ? ext4_lookup+0x65/0xbf
Â[<c026a6bb>] ? d_alloc_and_lookup+0x30/0x58
Â[<c026b84a>] ? do_lookup+0xc5/0xfe
Â[<c026c239>] ? link_path_walk+0x4d1/0x8d6
Â[<c026c722>] ? path_walk+0x48/0xa9
Â[<c026c7be>] ? do_path_lookup+0x3b/0x3f
Â[<c026d06d>] ? user_path_at+0x30/0x64
Â[<c0266446>] ? cp_new_stat64+0xee/0x100
Â[<c026664a>] ? vfs_fstatat+0x25/0x63
Â[<c02666c9>] ? vfs_lstat+0x13/0x15
Â[<c02666da>] ? sys_lstat64+0xf/0x23
Â[<c02141ed>] ? switched_to_idle+0x1a/0x43
Â[<c0393395>] ? syscall_call+0x7/0xb
Â[<c0390000>] ? quirk_ich7_lpc+0x46/0x4d
Mem-Info:
DMA per-cpu:
CPU Â Â0: hi: Â Â0, btch: Â 1 usd: Â 0
Normal per-cpu:
CPU Â Â0: hi: Â 90, btch: Â15 usd: Â84
active_anon:14957 inactive_anon:15137 isolated_anon:0
Âactive_file:11820 inactive_file:11640 isolated_file:0
Âunevictable:470 dirty:1378 writeback:0 unstable:0
Âfree:975 slab_reclaimable:5606 slab_unreclaimable:2343
Âmapped:2786 shmem:72 pagetables:394 bounce:0
DMA free:1000kB min:124kB low:152kB high:184kB active_anon:2896kB
inactive_anon:3552kB active_file:2116kB inactive_file:1768kB
unevictable:348kB isolated(anon):0kB isolated(file):0kB
present:15864kB mlocked:348kB dirty:16kB writeback:0kB mapped:228kB
shmem:32kB slab_reclaimable:1136kB slab_unreclaimable:608kB
kernel_stack:144kB pagetables:52kB unstable:0kB bounce:0kB
writeback_tmp:0kB pages_scanned:32 all_unreclaimable? no
lowmem_reserve[]: 0 238 238
Normal free:2900kB min:1908kB low:2384kB high:2860kB
active_anon:56932kB inactive_anon:56996kB active_file:45164kB
inactive_file:44792kB unevictable:1532kB isolated(anon):0kB
isolated(file):0kB present:243840kB mlocked:1532kB dirty:5496kB
writeback:0kB mapped:10916kB shmem:256kB slab_reclaimable:21288kB
slab_unreclaimable:8764kB kernel_stack:1056kB pagetables:1524kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 6*4kB 14*8kB 16*16kB 1*32kB 1*64kB 0*128kB 0*256kB 1*512kB
0*1024kB 0*2048kB 0*4096kB = 1000kB
Normal: 691*4kB 17*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 2900kB
28310 total pagecache pages
4385 pages in swap cache
Swap cache stats: add 144387, delete 140002, find 98398/115667
Free swap Â= 889116kB
Total swap = 1023996kB
65535 pages RAM
1245 pages reserved
27369 pages shared
42219 pages non-shared
SLUB: Unable to allocate memory on node -1 (gfp=0x20)
ÂÂcache: kmalloc-8192, object size: 8192, buffer size: 8192, default
order: 3, min order: 1
ÂÂnode 0: slabs: 133, objs: 529, free: 0
skbuff alloc of size 3872 failed
rsync: page allocation failure. order:1, mode:0x4020
Pid: 31479, comm: rsync Not tainted 2.6.36-rc1 #1
Call Trace:
Â[<c0246b2c>] ? __alloc_pages_nodemask+0x3f1/0x52e
Â[<c0261330>] ? __slab_alloc+0x40f/0x45a
Â[<c02617ca>] ? __kmalloc_track_caller+0x91/0x97
Â[<d09db01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
Â[<d09db01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
Â[<c033a8d0>] ? __alloc_skb+0x57/0x100
Â[<d09db01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
Â[<d0b01f2e>] ? ath_rx_tasklet+0x680/0xcfe [ath9k]
Â[<c02234ae>] ? __queue_work+0xe4/0x1a2
Â[<d0b00244>] ? ath9k_tasklet+0xd0/0x134 [ath9k]
Â[<c0219a43>] ? tasklet_action+0x5f/0x65
Â[<c0219cf4>] ? __do_softirq+0x60/0xc6
Â[<c0219d88>] ? do_softirq+0x2e/0x30
Â[<c0219e7b>] ? irq_exit+0x54/0x56
Â[<c02038e0>] ? do_IRQ+0x3a/0x72
Â[<c0202bc9>] ? common_interrupt+0x29/0x30
Â[<c02d89a0>] ? cfq_may_queue+0x0/0x92
Â[<c02d1567>] ? get_request+0x121/0x23e
Â[<c02d16a4>] ? get_request_wait+0x20/0xfd
Â[<c02d8f16>] ? cfq_merge+0x0/0x69
Â[<c02cfd40>] ? elv_merge+0x14b/0x170
Â[<c02d2375>] ? __make_request+0x71/0x364
Â[<c02d1fe2>] ? generic_make_request+0x14f/0x318
Â[<c0243fb1>] ? mempool_alloc+0x35/0xb9
Â[<c02d21e9>] ? submit_bio+0x3e/0x90
Â[<c0281c14>] ? bio_alloc_bioset+0x33/0x9e
Â[<c027e780>] ? submit_bh+0xbc/0xec
Â[<c027f4e2>] ? ll_rw_block+0x72/0x74
Â[<c027f504>] ? __breadahead+0x20/0x30
Â[<c02a3a8f>] ? __ext4_get_inode_loc+0x308/0x416
Â[<c02a8154>] ? ext4_iget+0x52/0x652
Â[<c02aa327>] ? ext4_lookup+0x65/0xbf
Â[<c026a6bb>] ? d_alloc_and_lookup+0x30/0x58
Â[<c026b84a>] ? do_lookup+0xc5/0xfe
Â[<c026c239>] ? link_path_walk+0x4d1/0x8d6
Â[<c026c722>] ? path_walk+0x48/0xa9
Â[<c026c7be>] ? do_path_lookup+0x3b/0x3f
Â[<c026d06d>] ? user_path_at+0x30/0x64
Â[<c0266446>] ? cp_new_stat64+0xee/0x100
Â[<c026664a>] ? vfs_fstatat+0x25/0x63
Â[<c02666c9>] ? vfs_lstat+0x13/0x15
Â[<c02666da>] ? sys_lstat64+0xf/0x23
Â[<c02141ed>] ? switched_to_idle+0x1a/0x43
Â[<c0393395>] ? syscall_call+0x7/0xb
Â[<c0390000>] ? quirk_ich7_lpc+0x46/0x4d
Mem-Info:
DMA per-cpu:
CPU Â Â0: hi: Â Â0, btch: Â 1 usd: Â 0
Normal per-cpu:
CPU Â Â0: hi: Â 90, btch: Â15 usd: Â84
active_anon:14957 inactive_anon:15137 isolated_anon:0
Âactive_file:11820 inactive_file:11640 isolated_file:0
Âunevictable:470 dirty:1378 writeback:0 unstable:0
Âfree:975 slab_reclaimable:5606 slab_unreclaimable:2343
Âmapped:2786 shmem:72 pagetables:394 bounce:0
DMA free:1000kB min:124kB low:152kB high:184kB active_anon:2896kB
inactive_anon:3552kB active_file:2116kB inactive_file:1768kB
unevictable:348kB isolated(anon):0kB isolated(file):0kB
present:15864kB mlocked:348kB dirty:16kB writeback:0kB mapped:228kB
shmem:32kB slab_reclaimable:1136kB slab_unreclaimable:608kB
kernel_stack:144kB pagetables:52kB unstable:0kB bounce:0kB
writeback_tmp:0kB pages_scanned:32 all_unreclaimable? no
lowmem_reserve[]: 0 238 238
Normal free:2900kB min:1908kB low:2384kB high:2860kB
active_anon:56932kB inactive_anon:56996kB active_file:45164kB
inactive_file:44792kB unevictable:1532kB isolated(anon):0kB
isolated(file):0kB present:243840kB mlocked:1532kB dirty:5496kB
writeback:0kB mapped:10916kB shmem:256kB slab_reclaimable:21288kB
slab_unreclaimable:8764kB kernel_stack:1056kB pagetables:1524kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 6*4kB 14*8kB 16*16kB 1*32kB 1*64kB 0*128kB 0*256kB 1*512kB
0*1024kB 0*2048kB 0*4096kB = 1000kB
Normal: 691*4kB 17*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 2900kB
28310 total pagecache pages
4385 pages in swap cache
Swap cache stats: add 144387, delete 140002, find 98398/115667
Free swap Â= 889116kB
Total swap = 1023996kB
65535 pages RAM
1245 pages reserved
27369 pages shared
42219 pages non-shared
SLUB: Unable to allocate memory on node -1 (gfp=0x20)
ÂÂcache: kmalloc-8192, object size: 8192, buffer size: 8192, default
order: 3, min order: 1
ÂÂnode 0: slabs: 133, objs: 529, free: 0
skbuff alloc of size 3872 failed

2010/9/5 Eric Dumazet <eric.dumazet@xxxxxxxxx>
>
> Le dimanche 05 septembre 2010 Ã 08:51 -0700, Nikhil Sethi (ààààà àààà) a
> Ãcrit :
> > This came back. Here is the dmesg output. It might be the problem only
> > happens if I have wmm_enabled=1 in my hostapd.conf. That is the only
> > thing that I changed yesterday, and today I saw these messages in my
> > logs. I will try to conform this.
> >
> >
> > I am running 2.6.35.4 with this patch:
> >
> >
> > *** 225,234 ****
> > Â Âint error = 0, i;
> > Â Âu32 size;
> >
> > !
> > ! common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
> > ! Â Â ah->caps.rx_status_len,
> > ! Â Â min(common->cachelsz, (u16)64));
> >
> > Â Âath9k_hw_set_rx_bufsize(ah, common->rx_bufsize -
> > Â Â Â ah->caps.rx_status_len);
> > --- 225,234 ----
> > Â Âint error = 0, i;
> > Â Âu32 size;
> >
> > ! size = roundup(IEEE80211_MAX_MPDU_LEN + ah->caps.rx_status_len,
> > ! Â Â Â Â Â Â Â Â Â Â Â Âmin(common->cachelsz, (u16)64));
> > ! Â Â Â Â common->rx_bufsize = min_t(u32, size,
> > ! Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂSKB_MAX_ORDER(NET_SKB_PAD +
> > common->cachelsz, 0));
> >
> > Â Âath9k_hw_set_rx_bufsize(ah, common->rx_bufsize -
> > Â Â Â ah->caps.rx_status_len);
> >
> >
> > dmesg output:
> >
> >
> > skbuff alloc of size 3872 failed
> > ps: page allocation failure. order:1, mode:0x4020
> > Pid: 16022, comm: ps Tainted: G Â Â Â ÂW Â 2.6.35.4 #1
> > Call Trace:
> > Â[<c0243bfe>] ? __alloc_pages_nodemask+0x3e6/0x513
> > Â[<c025be97>] ? slob_new_pages+0xc/0x23
>
> Unfortunately you use SLOB, and it seems to ask order-1 pages, while
> we want less than a page.
>
> Please try SLAB or SLUB
>
> > Â[<c025c0a1>] ? __kmalloc_node+0x39/0x72
> > Â[<c03338d8>] ? __alloc_skb+0x5c/0x105
> > Â[<d09fa01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> > Â[<d0ab7109>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
> > Â[<c030fd49>] ? scsi_next_command+0x27/0x34
> > Â[<d0ab53c5>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
> > Â[<c02193c3>] ? tasklet_action+0x5f/0x65
> > Â[<c0219677>] ? __do_softirq+0x60/0xc6
> > Â[<c021970b>] ? do_softirq+0x2e/0x30
> > Â[<c02197fd>] ? irq_exit+0x53/0x55
> > Â[<c020392c>] ? do_IRQ+0x3a/0x72
> > Â[<c0202be9>] ? common_interrupt+0x29/0x30
> > Â[<c0247874>] ? __remove_mapping+0x4b/0x8d
> > Â[<c023ea9f>] ? try_to_release_page+0x20/0x30
> > Â[<c0247d36>] ? shrink_page_list+0x2b8/0x46c
> > Â[<c03158ea>] ? sd_prep_fn+0x1a5/0x92b
> > Â[<c024816b>] ? shrink_inactive_list+0x281/0x552
> > Â[<c02445d9>] ? determine_dirtyable_memory+0xc/0x12
> > Â[<c024462c>] ? get_dirty_limits+0x18/0x2b0
> > Â[<c032875e>] ? ata_bmdma_port_intr+0x21/0xcd
> > Â[<c0248683>] ? shrink_zone+0x247/0x38f
> > Â[<c021968c>] ? __do_softirq+0x75/0xc6
> > Â[<c0247114>] ? shrink_slab+0x13c/0x186
> > Â[<c0248f25>] ? try_to_free_pages+0x1ab/0x2be
> > Â[<c0248f25>] ? try_to_free_pages+0x1ab/0x2be
> > Â[<c0243acf>] ? __alloc_pages_nodemask+0x2b7/0x513
> > Â[<c025be97>] ? slob_new_pages+0xc/0x23
> > Â[<c025c038>] ? kmem_cache_alloc_node+0x23/0x53
> > Â[<c0264b20>] ? getname+0x19/0xae
> > Â[<c0266d00>] ? user_path_at+0x11/0x64
> > Â[<c0250949>] ? access_process_vm+0xe0/0x1e7
> > Â[<c0250a08>] ? access_process_vm+0x19f/0x1e7
> > Â[<c02603d2>] ? vfs_fstatat+0x25/0x63
> > Â[<c02604a9>] ? vfs_stat+0x10/0x12
> > Â[<c02604ba>] ? sys_stat64+0xf/0x23
> > Â[<c025e86b>] ? fput+0x88/0x191
> > Â[<c026ab3b>] ? dput+0x92/0xd4
> > Â[<c025e8ff>] ? fput+0x11c/0x191
> > Â[<c026ebec>] ? mntput_no_expire+0x13/0x60
> > Â[<c025c398>] ? filp_close+0x3b/0x54
> > Â[<c025c403>] ? sys_close+0x52/0x72
> > Â[<c038ad3d>] ? syscall_call+0x7/0xb
> > Â[<c0380000>] ? unix_dgram_sendmsg+0x258/0x3c1
> > Mem-Info:
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/