linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6.35-rc1] page alloc failure order:1, mode:0x4020
@ 2010-06-04  9:20 Michael Guntsche
  2010-06-04 12:53 ` Eric Dumazet
  0 siblings, 1 reply; 13+ messages in thread
From: Michael Guntsche @ 2010-06-04  9:20 UTC (permalink / raw)
  To: linux-kernel

Hi list,

Testing 2.6.35-rc1 on my powerpc based routerboard I saw the following page allocation
error happening during an apt-get update with a semi loaded wlan
interface

[309611.189267] __alloc_pages_slowpath: 52 callbacks suppressed
[309611.194959] gzip: page allocation failure. order:1, mode:0x4020
[309611.200981] Call Trace:
[309611.203547] [c399bc50] [c0008144] show_stack+0x48/0x15c (unreliable)
[309611.210041] [c399bc80] [c006268c] __alloc_pages_nodemask+0x3d4/0x52c
[309611.216512] [c399bd20] [c008619c] __slab_alloc+0x560/0x570
[309611.222111] [c399bd60] [c0086a98] __kmalloc_track_caller+0xd4/0x104
[309611.228505] [c399bd80] [c01dd220] __alloc_skb+0x64/0x124
[309611.233944] [c399bda0] [c994e034] ath_rxbuf_alloc+0x34/0xbc [ath]
[309611.240178] [c399bdc0] [c9a1ec9c] ath_rx_tasklet+0x480/0x7c4 [ath9k]
[309611.246658] [c399be80] [c9a1dae0] ath9k_tasklet+0x114/0x13c [ath9k]
[309611.253055] [c399bea0] [c002532c] tasklet_action+0x88/0x104
[309611.258746] [c399bec0] [c0025e30] __do_softirq+0xb4/0x134
[309611.264261] [c399bf00] [c0005ec4] do_softirq+0x58/0x5c
[309611.269514] [c399bf10] [c0025c20] irq_exit+0x7c/0x9c
[309611.274591] [c399bf20] [c0005f64] do_IRQ+0x9c/0xb4
[309611.279509] [c399bf40] [c00117d8] ret_from_except+0x0/0x14
[309611.285112] --- Exception: 501 at 0xff31f0c
[309611.285121]     LR = 0xff32548
[309611.292536] Mem-Info:
[309611.294899] DMA per-cpu:
[309611.297528] CPU    0: hi:   42, btch:   7 usd:  18
[309611.302444] active_anon:1040 inactive_anon:1160 isolated_anon:0
[309611.302455]  active_file:14871 inactive_file:9440 isolated_file:0
[309611.302467]  unevictable:491 dirty:1258 writeback:0 unstable:0
[309611.302478]  free:628 slab_reclaimable:832 slab_unreclaimable:2312
[309611.302490]  mapped:2254 shmem:36 pagetables:202 bounce:0
[309611.332409] DMA free:2512kB min:1440kB low:1800kB high:2160kB active_anon:4160kB inactive_anon:4640kB active_file:59484kB inactive_file:37760kB unevictable:1964kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:1964kB dirty:5032kB writeback:0kB mapped:9016kB shmem:144kB slab_reclaimable:3328kB slab_unreclaimable:9248kB kernel_stack:528kB pagetables:808kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[309611.372230] lowmem_reserve[]: 0 0 0
[309611.375835] DMA: 596*4kB 14*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2512kB
[309611.386215] 24770 total pagecache pages
[309611.390147] 0 pages in swap cache
[309611.393559] Swap cache stats: add 0, delete 0, find 0/0
[309611.398884] Free swap  = 0kB
[309611.401857] Total swap = 0kB
[309611.411877] 32768 pages RAM
[309611.414765] 1228 pages reserved
[309611.418000] 27690 pages shared
[309611.421147] 8802 pages non-shared
[309611.424560] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[309611.430764]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
[309611.440276]   node 0: slabs: 155, objs: 620, free: 0
[309611.445439] skbuff alloc of size 3872 failed
[309611.449862] gzip: page allocation failure. order:1, mode:0x4020
[309611.455887] Call Trace:
[309611.458448] [c399bc50] [c0008144] show_stack+0x48/0x15c (unreliable)
[309611.464939] [c399bc80] [c006268c] __alloc_pages_nodemask+0x3d4/0x52c
[309611.471410] [c399bd20] [c008619c] __slab_alloc+0x560/0x570
[309611.477010] [c399bd60] [c0086a98] __kmalloc_track_caller+0xd4/0x104
[309611.483402] [c399bd80] [c01dd220] __alloc_skb+0x64/0x124
[309611.488836] [c399bda0] [c994e034] ath_rxbuf_alloc+0x34/0xbc [ath]
[309611.495067] [c399bdc0] [c9a1ec9c] ath_rx_tasklet+0x480/0x7c4 [ath9k]
[309611.501547] [c399be80] [c9a1dae0] ath9k_tasklet+0x114/0x13c [ath9k]
[309611.507944] [c399bea0] [c002532c] tasklet_action+0x88/0x104
[309611.513634] [c399bec0] [c0025e30] __do_softirq+0xb4/0x134
[309611.519150] [c399bf00] [c0005ec4] do_softirq+0x58/0x5c
[309611.524403] [c399bf10] [c0025c20] irq_exit+0x7c/0x9c
[309611.529481] [c399bf20] [c0005f64] do_IRQ+0x9c/0xb4
[309611.534397] [c399bf40] [c00117d8] ret_from_except+0x0/0x14
[309611.539999] --- Exception: 501 at 0xff31f0c
[309611.540008]     LR = 0xff32548
[309611.547421] Mem-Info:
[309611.549784] DMA per-cpu:
[309611.552414] CPU    0: hi:   42, btch:   7 usd:  18
[309611.557328] active_anon:1040 inactive_anon:1160 isolated_anon:0
[309611.557340]  active_file:14871 inactive_file:9440 isolated_file:0
[309611.557351]  unevictable:491 dirty:1258 writeback:0 unstable:0
[309611.557362]  free:628 slab_reclaimable:832 slab_unreclaimable:2312
[309611.557374]  mapped:2254 shmem:36 pagetables:202 bounce:0
[309611.587293] DMA free:2512kB min:1440kB low:1800kB high:2160kB active_anon:4160kB inactive_anon:4640kB active_file:59484kB inactive_file:37760kB unevictable:1964kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:1964kB dirty:5032kB writeback:0kB mapped:9016kB shmem:144kB slab_reclaimable:3328kB slab_unreclaimable:9248kB kernel_stack:528kB pagetables:808kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[309611.627114] lowmem_reserve[]: 0 0 0
[309611.630719] DMA: 596*4kB 14*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2512kB
[309611.641099] 24770 total pagecache pages
[309611.645030] 0 pages in swap cache
[309611.648443] Swap cache stats: add 0, delete 0, find 0/0
[309611.653767] Free swap  = 0kB
[309611.656740] Total swap = 0kB
[309611.666761] 32768 pages RAM
[309611.669650] 1228 pages reserved
[309611.672884] 27690 pages shared
[309611.676030] 8802 pages non-shared
[309611.679444] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[309611.685648]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
[309611.695160]   node 0: slabs: 155, objs: 620, free: 0
[309611.700296] skbuff alloc of size 3872 failed
[309611.705347] gzip: page allocation failure. order:1, mode:0x4020
[309611.711374] Call Trace:
[309611.713939] [c399bc50] [c0008144] show_stack+0x48/0x15c (unreliable)
[309611.720433] [c399bc80] [c006268c] __alloc_pages_nodemask+0x3d4/0x52c
[309611.726904] [c399bd20] [c008619c] __slab_alloc+0x560/0x570
[309611.732504] [c399bd60] [c0086a98] __kmalloc_track_caller+0xd4/0x104
[309611.738899] [c399bd80] [c01dd220] __alloc_skb+0x64/0x124
[309611.744334] [c399bda0] [c994e034] ath_rxbuf_alloc+0x34/0xbc [ath]
[309611.750566] [c399bdc0] [c9a1ec9c] ath_rx_tasklet+0x480/0x7c4 [ath9k]
[309611.757047] [c399be80] [c9a1dae0] ath9k_tasklet+0x114/0x13c [ath9k]
[309611.763445] [c399bea0] [c002532c] tasklet_action+0x88/0x104
[309611.769135] [c399bec0] [c0025e30] __do_softirq+0xb4/0x134
[309611.774650] [c399bf00] [c0005ec4] do_softirq+0x58/0x5c
[309611.779903] [c399bf10] [c0025c20] irq_exit+0x7c/0x9c
[309611.784981] [c399bf20] [c0005f64] do_IRQ+0x9c/0xb4
[309611.789899] [c399bf40] [c00117d8] ret_from_except+0x0/0x14
[309611.795501] --- Exception: 501 at 0xff31f0c
[309611.795510]     LR = 0xff32548
[309611.802923] Mem-Info:
[309611.805287] DMA per-cpu:
[309611.807916] CPU    0: hi:   42, btch:   7 usd:  18
[309611.812831] active_anon:1040 inactive_anon:1160 isolated_anon:0
[309611.812842]  active_file:14871 inactive_file:9440 isolated_file:0
[309611.812854]  unevictable:491 dirty:1258 writeback:0 unstable:0
[309611.812865]  free:628 slab_reclaimable:832 slab_unreclaimable:2312
[309611.812877]  mapped:2254 shmem:36 pagetables:202 bounce:0
[309611.842797] DMA free:2512kB min:1440kB low:1800kB high:2160kB active_anon:4160kB inactive_anon:4640kB active_file:59484kB inactive_file:37760kB unevictable:1964kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:1964kB dirty:5032kB writeback:0kB mapped:9016kB shmem:144kB slab_reclaimable:3328kB slab_unreclaimable:9248kB kernel_stack:528kB pagetables:808kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[309611.882619] lowmem_reserve[]: 0 0 0
[309611.886224] DMA: 596*4kB 14*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2512kB
[309611.896602] 24770 total pagecache pages
[309611.900533] 0 pages in swap cache
[309611.903946] Swap cache stats: add 0, delete 0, find 0/0
[309611.909271] Free swap  = 0kB
[309611.912244] Total swap = 0kB
[309611.922262] 32768 pages RAM
[309611.925151] 1228 pages reserved
[309611.928386] 27690 pages shared
[309611.931532] 8802 pages non-shared
[309611.934946] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[309611.941150]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
[309611.950662]   node 0: slabs: 155, objs: 620, free: 0
[309611.955775] skbuff alloc of size 3872 failed
[309611.960443] gzip: page allocation failure. order:1, mode:0x4020
[309611.966467] Call Trace:
[309611.969029] [c399bc50] [c0008144] show_stack+0x48/0x15c (unreliable)
[309611.975522] [c399bc80] [c006268c] __alloc_pages_nodemask+0x3d4/0x52c
[309611.981993] [c399bd20] [c008619c] __slab_alloc+0x560/0x570
[309611.987592] [c399bd60] [c0086a98] __kmalloc_track_caller+0xd4/0x104
[309611.993986] [c399bd80] [c01dd220] __alloc_skb+0x64/0x124
[309611.999421] [c399bda0] [c994e034] ath_rxbuf_alloc+0x34/0xbc [ath]
[309612.005654] [c399bdc0] [c9a1ec9c] ath_rx_tasklet+0x480/0x7c4 [ath9k]
[309612.012134] [c399be80] [c9a1dae0] ath9k_tasklet+0x114/0x13c [ath9k]
[309612.018530] [c399bea0] [c002532c] tasklet_action+0x88/0x104
[309612.024220] [c399bec0] [c0025e30] __do_softirq+0xb4/0x134
[309612.029735] [c399bf00] [c0005ec4] do_softirq+0x58/0x5c
[309612.034988] [c399bf10] [c0025c20] irq_exit+0x7c/0x9c
[309612.040066] [c399bf20] [c0005f64] do_IRQ+0x9c/0xb4
[309612.044984] [c399bf40] [c00117d8] ret_from_except+0x0/0x14
[309612.050586] --- Exception: 501 at 0xff31f0c
[309612.050595]     LR = 0xff32548
[309612.058009] Mem-Info:
[309612.060372] DMA per-cpu:
[309612.063000] CPU    0: hi:   42, btch:   7 usd:  18
[309612.067914] active_anon:1040 inactive_anon:1160 isolated_anon:0
[309612.067926]  active_file:14871 inactive_file:9440 isolated_file:0
[309612.067937]  unevictable:491 dirty:1258 writeback:0 unstable:0
[309612.067948]  free:628 slab_reclaimable:832 slab_unreclaimable:2312
[309612.067960]  mapped:2254 shmem:36 pagetables:202 bounce:0
[309612.097879] DMA free:2512kB min:1440kB low:1800kB high:2160kB active_anon:4160kB inactive_anon:4640kB active_file:59484kB inactive_file:37760kB unevictable:1964kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:1964kB dirty:5032kB writeback:0kB mapped:9016kB shmem:144kB slab_reclaimable:3328kB slab_unreclaimable:9248kB kernel_stack:528kB pagetables:808kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[309612.137700] lowmem_reserve[]: 0 0 0
[309612.141306] DMA: 596*4kB 14*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2512kB
[309612.151684] 24770 total pagecache pages
[309612.155616] 0 pages in swap cache
[309612.159028] Swap cache stats: add 0, delete 0, find 0/0
[309612.164353] Free swap  = 0kB
[309612.167326] Total swap = 0kB
[309612.177342] 32768 pages RAM
[309612.180231] 1228 pages reserved
[309612.183465] 27690 pages shared
[309612.186612] 8802 pages non-shared
[309612.190025] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[309612.196229]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
[309612.205740]   node 0: slabs: 155, objs: 620, free: 0
[309612.210848] skbuff alloc of size 3872 failed
[309612.215258] gzip: page allocation failure. order:1, mode:0x4020
[309612.221282] Call Trace:
[309612.223842] [c399bc50] [c0008144] show_stack+0x48/0x15c (unreliable)
[309612.230333] [c399bc80] [c006268c] __alloc_pages_nodemask+0x3d4/0x52c
[309612.236804] [c399bd20] [c008619c] __slab_alloc+0x560/0x570
[309612.242405] [c399bd60] [c0086a98] __kmalloc_track_caller+0xd4/0x104
[309612.248797] [c399bd80] [c01dd220] __alloc_skb+0x64/0x124
[309612.254231] [c399bda0] [c994e034] ath_rxbuf_alloc+0x34/0xbc [ath]
[309612.260463] [c399bdc0] [c9a1ec9c] ath_rx_tasklet+0x480/0x7c4 [ath9k]
[309612.266944] [c399be80] [c9a1dae0] ath9k_tasklet+0x114/0x13c [ath9k]
[309612.273340] [c399bea0] [c002532c] tasklet_action+0x88/0x104
[309612.279029] [c399bec0] [c0025e30] __do_softirq+0xb4/0x134
[309612.284544] [c399bf00] [c0005ec4] do_softirq+0x58/0x5c
[309612.289798] [c399bf10] [c0025c20] irq_exit+0x7c/0x9c
[309612.294875] [c399bf20] [c0005f64] do_IRQ+0x9c/0xb4
[309612.299790] [c399bf40] [c00117d8] ret_from_except+0x0/0x14
[309612.305392] --- Exception: 501 at 0xff31f0c
[309612.305401]     LR = 0xff32548
[309612.312816] Mem-Info:
[309612.315179] DMA per-cpu:
[309612.317808] CPU    0: hi:   42, btch:   7 usd:  18
[309612.322723] active_anon:1040 inactive_anon:1160 isolated_anon:0
[309612.322734]  active_file:14871 inactive_file:9440 isolated_file:0
[309612.322746]  unevictable:491 dirty:1258 writeback:0 unstable:0
[309612.322757]  free:628 slab_reclaimable:832 slab_unreclaimable:2312
[309612.322769]  mapped:2254 shmem:36 pagetables:202 bounce:0
[309612.352687] DMA free:2512kB min:1440kB low:1800kB high:2160kB active_anon:4160kB inactive_anon:4640kB active_file:59484kB inactive_file:37760kB unevictable:1964kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:1964kB dirty:5032kB writeback:0kB mapped:9016kB shmem:144kB slab_reclaimable:3328kB slab_unreclaimable:9248kB kernel_stack:528kB pagetables:808kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[309612.392508] lowmem_reserve[]: 0 0 0
[309612.396113] DMA: 596*4kB 14*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2512kB
[309612.406493] 24770 total pagecache pages
[309612.410424] 0 pages in swap cache
[309612.413837] Swap cache stats: add 0, delete 0, find 0/0
[309612.419162] Free swap  = 0kB
[309612.422134] Total swap = 0kB
[309612.432142] 32768 pages RAM
[309612.435031] 1228 pages reserved
[309612.438264] 27690 pages shared
[309612.441411] 8802 pages non-shared
[309612.444825] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[309612.451029]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
[309612.460540]   node 0: slabs: 155, objs: 620, free: 0
[309612.465644] skbuff alloc of size 3872 failed
[309612.470056] skbuff alloc of size 3872 failed
[309612.474462] skbuff alloc of size 3872 failed
[309612.478867] skbuff alloc of size 3872 failed
[309612.483272] skbuff alloc of size 3872 failed
[309612.487682] skbuff alloc of size 3872 failed
[309612.492091] skbuff alloc of size 3872 failed
[309612.496497] skbuff alloc of size 3872 failed
[309612.500906] skbuff alloc of size 3872 failed
[309612.505312] skbuff alloc of size 3872 failed
[309612.509724] skbuff alloc of size 3872 failed
[309612.514130] skbuff alloc of size 3872 failed
[309612.518540] skbuff alloc of size 3872 failed
[309612.523620] skbuff alloc of size 3872 failed
[309613.467566] skbuff alloc of size 3872 failed
[309613.472040] skbuff alloc of size 3872 failed
[309613.477735] phy0: failed to reallocate TX buffer
[309613.478377] skbuff alloc of size 3872 failed
[309613.488549] skbuff alloc of size 3872 failed
[309613.493021] skbuff alloc of size 3872 failed

I never saw this before on this board. Every kernel starting from .28
was rock solid and did not show me this kind of error at all. The board
does not freeze and continues to work but I still do not understand why
it cannot allocate memory here.


Kind regards,
Michael Guntsche

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-06-04  9:20 [2.6.35-rc1] page alloc failure order:1, mode:0x4020 Michael Guntsche
@ 2010-06-04 12:53 ` Eric Dumazet
  2010-06-04 16:16   ` Michael Guntsche
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Dumazet @ 2010-06-04 12:53 UTC (permalink / raw)
  To: Michael Guntsche; +Cc: linux-kernel, netdev

Le vendredi 04 juin 2010 à 11:20 +0200, Michael Guntsche a écrit :
> Hi list,
> 
> Testing 2.6.35-rc1 on my powerpc based routerboard I saw the following page allocation
> error happening during an apt-get update with a semi loaded wlan
> interface
> 
> [309611.189267] __alloc_pages_slowpath: 52 callbacks suppressed
> [309611.194959] gzip: page allocation failure. order:1, mode:0x4020
> [309611.200981] Call Trace:
> [309611.203547] [c399bc50] [c0008144] show_stack+0x48/0x15c (unreliable)
> [309611.210041] [c399bc80] [c006268c] __alloc_pages_nodemask+0x3d4/0x52c
> [309611.216512] [c399bd20] [c008619c] __slab_alloc+0x560/0x570
> [309611.222111] [c399bd60] [c0086a98] __kmalloc_track_caller+0xd4/0x104
> [309611.228505] [c399bd80] [c01dd220] __alloc_skb+0x64/0x124
> [309611.233944] [c399bda0] [c994e034] ath_rxbuf_alloc+0x34/0xbc [ath]
> [309611.240178] [c399bdc0] [c9a1ec9c] ath_rx_tasklet+0x480/0x7c4 [ath9k]
> [309611.246658] [c399be80] [c9a1dae0] ath9k_tasklet+0x114/0x13c [ath9k]
> [309611.253055] [c399bea0] [c002532c] tasklet_action+0x88/0x104
> [309611.258746] [c399bec0] [c0025e30] __do_softirq+0xb4/0x134
> [309611.264261] [c399bf00] [c0005ec4] do_softirq+0x58/0x5c
> [309611.269514] [c399bf10] [c0025c20] irq_exit+0x7c/0x9c
> [309611.274591] [c399bf20] [c0005f64] do_IRQ+0x9c/0xb4
> [309611.279509] [c399bf40] [c00117d8] ret_from_except+0x0/0x14
> [309611.285112] --- Exception: 501 at 0xff31f0c
> [309611.285121]     LR = 0xff32548
> [309611.292536] Mem-Info:
> [309611.294899] DMA per-cpu:
> [309611.297528] CPU    0: hi:   42, btch:   7 usd:  18
> [309611.302444] active_anon:1040 inactive_anon:1160 isolated_anon:0
> [309611.302455]  active_file:14871 inactive_file:9440 isolated_file:0
> [309611.302467]  unevictable:491 dirty:1258 writeback:0 unstable:0
> [309611.302478]  free:628 slab_reclaimable:832 slab_unreclaimable:2312
> [309611.302490]  mapped:2254 shmem:36 pagetables:202 bounce:0
> [309611.332409] DMA free:2512kB min:1440kB low:1800kB high:2160kB active_anon:4160kB inactive_anon:4640kB active_file:59484kB inactive_file:37760kB unevictable:1964kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:1964kB dirty:5032kB writeback:0kB mapped:9016kB shmem:144kB slab_reclaimable:3328kB slab_unreclaimable:9248kB kernel_stack:528kB pagetables:808kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
> [309611.372230] lowmem_reserve[]: 0 0 0
> [309611.375835] DMA: 596*4kB 14*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2512kB
> [309611.386215] 24770 total pagecache pages
> [309611.390147] 0 pages in swap cache
> [309611.393559] Swap cache stats: add 0, delete 0, find 0/0
> [309611.398884] Free swap  = 0kB
> [309611.401857] Total swap = 0kB
> [309611.411877] 32768 pages RAM
> [309611.414765] 1228 pages reserved
> [309611.418000] 27690 pages shared
> [309611.421147] 8802 pages non-shared
> [309611.424560] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
> [309611.430764]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
> [309611.440276]   node 0: slabs: 155, objs: 620, free: 0
> [309611.445439] skbuff alloc of size 3872 failed

order-1 allocations are unfortunate, since this hardware should use
order-0 ones if possible, and it seems it was its goal.

3872 (0xF20) comes from 

#define IEEE80211_MAX_MPDU_LEN     (3840 + FCS_LEN +
	(IEEE80211_WEP_IVLEN +  \
	IEEE80211_WEP_KIDLEN + \
	IEEE80211_WEP_CRCLEN))

common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
	ah->caps.rx_status_len,
	min(common->cachelsz, (u16)64));

Then __dev_alloc_skb() adds two more blocs :

NET_SKB_PAD  (64 bytes on your platform ?)

sizeof(struct skb_shared_info) 
(on 32bit : 0x104 ... oh well that might be the problem : it is rounded
to 0x140)


And ath driver adds common->cachelsz  (I dont know its value)

-> more than 4096 bytes

1) Maybe rx_bufsize should not include the roundup() since 
ath_rxbuf_alloc() also do an alignment adjustment ?

2) We should try to reduce skb_shared_info by four bytes.

Could you try this patch ?


We make sure rx_bufsize + various overhead <= PAGE_SIZE
But I am not sure its legal for the hardware...

diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index ca6065b..0a0dc3a 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
 	u32 size;
 
 
-	common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
-				     ah->caps.rx_status_len,
-				     min(common->cachelsz, (u16)64));
-
+	size = roundup(IEEE80211_MAX_MPDU_LEN + ah->caps.rx_status_len,
+		       min(common->cachelsz, (u16)64));
+	common->rx_bufsize = max_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);
 



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-06-04 12:53 ` Eric Dumazet
@ 2010-06-04 16:16   ` Michael Guntsche
  2010-06-06  9:56     ` Michael Guntsche
  0 siblings, 1 reply; 13+ messages in thread
From: Michael Guntsche @ 2010-06-04 16:16 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: linux-kernel, netdev

On 2010.06.04 14:53:34 , Eric Dumazet wrote:
> order-1 allocations are unfortunate, since this hardware should use
> order-0 ones if possible, and it seems it was its goal.
> 
> 3872 (0xF20) comes from 
<snip>
> 
> 1) Maybe rx_bufsize should not include the roundup() since 
> ath_rxbuf_alloc() also do an alignment adjustment ?
> 
> 2) We should try to reduce skb_shared_info by four bytes.
> 
> Could you try this patch ?
> 
> 
> We make sure rx_bufsize + various overhead <= PAGE_SIZE
> But I am not sure its legal for the hardware...

I applied the patch recompiled and run it on the routerboard, trying
to trigger the bug again.

Kind regards,
Michael

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-06-04 16:16   ` Michael Guntsche
@ 2010-06-06  9:56     ` Michael Guntsche
  2010-06-06 10:42       ` Eric Dumazet
  0 siblings, 1 reply; 13+ messages in thread
From: Michael Guntsche @ 2010-06-06  9:56 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: linux-kernel, netdev

On 2010.06.04 18:16:44 , Michael Guntsche wrote:
> I applied the patch recompiled and run it on the routerboard, trying
> to trigger the bug again.

Hi Eric,

Up to now I was not able to reproduce the bug, do you think this patch
can be pushed to mainline or is there a "better"/other  fix for it?

Kind regards,
Michael



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-06-06  9:56     ` Michael Guntsche
@ 2010-06-06 10:42       ` Eric Dumazet
  2010-08-25 20:25         ` Nikhil Sethi (निखिल सेठी)
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Dumazet @ 2010-06-06 10:42 UTC (permalink / raw)
  To: Michael Guntsche; +Cc: linux-kernel, netdev

Le dimanche 06 juin 2010 à 11:56 +0200, Michael Guntsche a écrit :
> On 2010.06.04 18:16:44 , Michael Guntsche wrote:
> > I applied the patch recompiled and run it on the routerboard, trying
> > to trigger the bug again.
> 
> Hi Eric,
> 
> Up to now I was not able to reproduce the bug, do you think this patch
> can be pushed to mainline or is there a "better"/other  fix for it?
> 
> Kind regards,
> Michael
> 
> 

Thanks Michael for testing.

I'll submit ASAP an official patch, sent to all people involved in this
driver to get their Ack (or Nack).

IEEE80211_MAX_MPDU_LEN being 3840 + somebits is suspect, since it doesnt
match 802.11 specs.

It should be more close of 2304 + MAC header (32bytes) + FCS (4 bytes) ?




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-06-06 10:42       ` Eric Dumazet
@ 2010-08-25 20:25         ` Nikhil Sethi (निखिल सेठी)
  2010-08-25 20:44           ` Eric Dumazet
  0 siblings, 1 reply; 13+ messages in thread
From: Nikhil Sethi (निखिल सेठी) @ 2010-08-25 20:25 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Michael Guntsche, linux-kernel, netdev

Hello.

I am running 2.5.35.3 with the above patch, and I still get these
failures. Though they are much less often than without the patch. A
snippet from dmesg below.

Please let me know what other details I should provide. Thanks

skbuff alloc of size 3872 failed
java: page allocation failure. order:1, mode:0x4020
Pid: 11464, comm: java Not tainted 2.6.35.3 #3
Call Trace:
 [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
 [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
 [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
 [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<c0334097>] ? __alloc_skb+0x57/0x100
 [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
 [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
 [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
 [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
 [<c02195bf>] ? tasklet_action+0x5f/0x65
 [<c0219873>] ? __do_softirq+0x60/0xc6
 [<c0219907>] ? do_softirq+0x2e/0x30
 [<c02199f9>] ? irq_exit+0x53/0x55
 [<c020392c>] ? do_IRQ+0x3a/0x72
 [<c0202be9>] ? common_interrupt+0x29/0x30
Mem-Info:
DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Normal per-cpu:
CPU    0: hi:   90, btch:  15 usd:  32
active_anon:6158 inactive_anon:15748 isolated_anon:0
 active_file:11477 inactive_file:22926 isolated_file:0
 unevictable:468 dirty:5788 writeback:0 unstable:0
 free:990 slab_reclaimable:3091 slab_unreclaimable:2349
 mapped:1410 shmem:5 pagetables:227 bounce:0
DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 238 238
Normal free:2960kB min:1908kB low:2384kB high:2860kB
active_anon:23328kB inactive_anon:60688kB active_file:43324kB
inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 1000kB
Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 2960kB
37964 total pagecache pages
3160 pages in swap cache
Swap cache stats: add 164954, delete 161794, find 97931/115609
Free swap  = 937284kB
Total swap = 963896kB
65535 pages RAM
1237 pages reserved
29042 pages shared
38802 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: 0, objs: 0, free: 0
skbuff alloc of size 3872 failed
java: page allocation failure. order:1, mode:0x4020
Pid: 11464, comm: java Not tainted 2.6.35.3 #3
Call Trace:
 [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
 [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
 [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
 [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<c0334097>] ? __alloc_skb+0x57/0x100
 [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
 [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
 [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
 [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
 [<c02195bf>] ? tasklet_action+0x5f/0x65
 [<c0219873>] ? __do_softirq+0x60/0xc6
 [<c0219907>] ? do_softirq+0x2e/0x30
 [<c02199f9>] ? irq_exit+0x53/0x55
 [<c020392c>] ? do_IRQ+0x3a/0x72
 [<c0202be9>] ? common_interrupt+0x29/0x30
Mem-Info:
DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Normal per-cpu:
CPU    0: hi:   90, btch:  15 usd:  32
active_anon:6158 inactive_anon:15748 isolated_anon:0
 active_file:11477 inactive_file:22926 isolated_file:0
 unevictable:468 dirty:5788 writeback:0 unstable:0
 free:990 slab_reclaimable:3091 slab_unreclaimable:2349
 mapped:1410 shmem:5 pagetables:227 bounce:0
DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 238 238
Normal free:2960kB min:1908kB low:2384kB high:2860kB
active_anon:23328kB inactive_anon:60688kB active_file:43324kB
inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 1000kB
Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 2960kB
37964 total pagecache pages
3160 pages in swap cache

On Sun, Jun 6, 2010 at 3:42 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>
> Le dimanche 06 juin 2010 à 11:56 +0200, Michael Guntsche a écrit :
> > On 2010.06.04 18:16:44 , Michael Guntsche wrote:
> > > I applied the patch recompiled and run it on the routerboard, trying
> > > to trigger the bug again.
> >
> > Hi Eric,
> >
> > Up to now I was not able to reproduce the bug, do you think this patch
> > can be pushed to mainline or is there a "better"/other  fix for it?
> >
> > Kind regards,
> > Michael
> >
> >
>
> Thanks Michael for testing.
>
> I'll submit ASAP an official patch, sent to all people involved in this
> driver to get their Ack (or Nack).
>
> IEEE80211_MAX_MPDU_LEN being 3840 + somebits is suspect, since it doesnt
> match 802.11 specs.
>
> It should be more close of 2304 + MAC header (32bytes) + FCS (4 bytes) ?
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-08-25 20:25         ` Nikhil Sethi (निखिल सेठी)
@ 2010-08-25 20:44           ` Eric Dumazet
  2010-08-26 17:53             ` Nikhil Sethi (निखिल सेठी)
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Dumazet @ 2010-08-25 20:44 UTC (permalink / raw)
  To: Nikhil Sethi (निखिल
	सेठी)
  Cc: Michael Guntsche, linux-kernel, netdev

Le mercredi 25 août 2010 à 13:25 -0700, Nikhil Sethi (निखिल सेठी) a
écrit :
> Hello.
> 
> I am running 2.5.35.3 with the above patch, and I still get these
> failures. Though they are much less often than without the patch. A
> snippet from dmesg below.
> 
> Please let me know what other details I should provide. Thanks
> 
> skbuff alloc of size 3872 failed
> java: page allocation failure. order:1, mode:0x4020
> Pid: 11464, comm: java Not tainted 2.6.35.3 #3
> Call Trace:
>  [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
>  [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
>  [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>  [<c0334097>] ? __alloc_skb+0x57/0x100
>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>  [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
>  [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
>  [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
>  [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
>  [<c02195bf>] ? tasklet_action+0x5f/0x65
>  [<c0219873>] ? __do_softirq+0x60/0xc6
>  [<c0219907>] ? do_softirq+0x2e/0x30
>  [<c02199f9>] ? irq_exit+0x53/0x55
>  [<c020392c>] ? do_IRQ+0x3a/0x72
>  [<c0202be9>] ? common_interrupt+0x29/0x30
> Mem-Info:
> DMA per-cpu:
> CPU    0: hi:    0, btch:   1 usd:   0
> Normal per-cpu:
> CPU    0: hi:   90, btch:  15 usd:  32
> active_anon:6158 inactive_anon:15748 isolated_anon:0
>  active_file:11477 inactive_file:22926 isolated_file:0
>  unevictable:468 dirty:5788 writeback:0 unstable:0
>  free:990 slab_reclaimable:3091 slab_unreclaimable:2349
>  mapped:1410 shmem:5 pagetables:227 bounce:0
> DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
> inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
> mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
> slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
> pages_scanned:0 all_unreclaimable? no
> lowmem_reserve[]: 0 238 238
> Normal free:2960kB min:1908kB low:2384kB high:2860kB
> active_anon:23328kB inactive_anon:60688kB active_file:43324kB
> inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
> isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
> writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
> slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
> all_unreclaimable? no
> lowmem_reserve[]: 0 0 0
> DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
> 0*1024kB 0*2048kB 0*4096kB = 1000kB
> Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
> 0*1024kB 0*2048kB 0*4096kB = 2960kB
> 37964 total pagecache pages
> 3160 pages in swap cache
> Swap cache stats: add 164954, delete 161794, find 97931/115609
> Free swap  = 937284kB
> Total swap = 963896kB
> 65535 pages RAM
> 1237 pages reserved
> 29042 pages shared
> 38802 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: 0, objs: 0, free: 0
> skbuff alloc of size 3872 failed
> java: page allocation failure. order:1, mode:0x4020
> Pid: 11464, comm: java Not tainted 2.6.35.3 #3
> Call Trace:
>  [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
>  [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
>  [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>  [<c0334097>] ? __alloc_skb+0x57/0x100
>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>  [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
>  [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
>  [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
>  [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
>  [<c02195bf>] ? tasklet_action+0x5f/0x65
>  [<c0219873>] ? __do_softirq+0x60/0xc6
>  [<c0219907>] ? do_softirq+0x2e/0x30
>  [<c02199f9>] ? irq_exit+0x53/0x55
>  [<c020392c>] ? do_IRQ+0x3a/0x72
>  [<c0202be9>] ? common_interrupt+0x29/0x30
> Mem-Info:
> DMA per-cpu:
> CPU    0: hi:    0, btch:   1 usd:   0
> Normal per-cpu:
> CPU    0: hi:   90, btch:  15 usd:  32
> active_anon:6158 inactive_anon:15748 isolated_anon:0
>  active_file:11477 inactive_file:22926 isolated_file:0
>  unevictable:468 dirty:5788 writeback:0 unstable:0
>  free:990 slab_reclaimable:3091 slab_unreclaimable:2349
>  mapped:1410 shmem:5 pagetables:227 bounce:0
> DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
> inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
> mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
> slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
> pages_scanned:0 all_unreclaimable? no
> lowmem_reserve[]: 0 238 238
> Normal free:2960kB min:1908kB low:2384kB high:2860kB
> active_anon:23328kB inactive_anon:60688kB active_file:43324kB
> inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
> isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
> writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
> slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
> all_unreclaimable? no
> lowmem_reserve[]: 0 0 0
> DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
> 0*1024kB 0*2048kB 0*4096kB = 1000kB
> Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
> 0*1024kB 0*2048kB 0*4096kB = 2960kB
> 37964 total pagecache pages
> 3160 pages in swap cache
> 
> On Sun, Jun 6, 2010 at 3:42 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> >
> > Le dimanche 06 juin 2010 à 11:56 +0200, Michael Guntsche a écrit :
> > > On 2010.06.04 18:16:44 , Michael Guntsche wrote:
> > > > I applied the patch recompiled and run it on the routerboard, trying
> > > > to trigger the bug again.
> > >
> > > Hi Eric,
> > >
> > > Up to now I was not able to reproduce the bug, do you think this patch
> > > can be pushed to mainline or is there a "better"/other  fix for it?
> > >
> > > Kind regards,
> > > Michael
> > >
> > >
> >
> > Thanks Michael for testing.
> >
> > I'll submit ASAP an official patch, sent to all people involved in this
> > driver to get their Ack (or Nack).
> >
> > IEEE80211_MAX_MPDU_LEN being 3840 + somebits is suspect, since it doesnt
> > match 802.11 specs.
> >
> > It should be more close of 2304 + MAC header (32bytes) + FCS (4 bytes) ?
> >
> >
> >
> > --


reading my former patch, I believe I mistakenly used a max_t() instead
of a min_() macro :

diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index ca6065b..0a0dc3a 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
        u32 size;
 
 
-       common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
-                                    ah->caps.rx_status_len,
-                                    min(common->cachelsz, (u16)64));
-
+       size = roundup(IEEE80211_MAX_MPDU_LEN + ah->caps.rx_status_len,
+                      min(common->cachelsz, (u16)64));
+       common->rx_bufsize = max_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);
 


Please use instead this one :

diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index ca6065b..0a0dc3a 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
        u32 size;
 
 
-       common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
-                                    ah->caps.rx_status_len,
-                                    min(common->cachelsz, (u16)64));
-
+       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);
 




^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-08-25 20:44           ` Eric Dumazet
@ 2010-08-26 17:53             ` Nikhil Sethi (निखिल सेठी)
  2010-09-05 15:57               ` Nikhil Sethi (निखिल सेठी)
       [not found]               ` <AANLkTi=jLwvU=EWR51Y=TQ5JYVp_DqeTx0Ocbt=NEC1-@mail.gmail.com>
  0 siblings, 2 replies; 13+ messages in thread
From: Nikhil Sethi (निखिल सेठी) @ 2010-08-26 17:53 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Michael Guntsche, linux-kernel, netdev

Thanks Eric. I have not been able to reproduce this problem after
applying your new patch in about 12 hours of operation. Will let you
know if the bug re-appears.

Thanks
Nikhil

2010/8/25 Eric Dumazet <eric.dumazet@gmail.com>:
> Le mercredi 25 août 2010 à 13:25 -0700, Nikhil Sethi (निखिल सेठी) a
> écrit :
>> Hello.
>>
>> I am running 2.5.35.3 with the above patch, and I still get these
>> failures. Though they are much less often than without the patch. A
>> snippet from dmesg below.
>>
>> Please let me know what other details I should provide. Thanks
>>
>> skbuff alloc of size 3872 failed
>> java: page allocation failure. order:1, mode:0x4020
>> Pid: 11464, comm: java Not tainted 2.6.35.3 #3
>> Call Trace:
>>  [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
>>  [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
>>  [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
>>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>>  [<c0334097>] ? __alloc_skb+0x57/0x100
>>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>>  [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
>>  [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
>>  [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
>>  [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
>>  [<c02195bf>] ? tasklet_action+0x5f/0x65
>>  [<c0219873>] ? __do_softirq+0x60/0xc6
>>  [<c0219907>] ? do_softirq+0x2e/0x30
>>  [<c02199f9>] ? irq_exit+0x53/0x55
>>  [<c020392c>] ? do_IRQ+0x3a/0x72
>>  [<c0202be9>] ? common_interrupt+0x29/0x30
>> Mem-Info:
>> DMA per-cpu:
>> CPU    0: hi:    0, btch:   1 usd:   0
>> Normal per-cpu:
>> CPU    0: hi:   90, btch:  15 usd:  32
>> active_anon:6158 inactive_anon:15748 isolated_anon:0
>>  active_file:11477 inactive_file:22926 isolated_file:0
>>  unevictable:468 dirty:5788 writeback:0 unstable:0
>>  free:990 slab_reclaimable:3091 slab_unreclaimable:2349
>>  mapped:1410 shmem:5 pagetables:227 bounce:0
>> DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
>> inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
>> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
>> mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
>> slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
>> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
>> pages_scanned:0 all_unreclaimable? no
>> lowmem_reserve[]: 0 238 238
>> Normal free:2960kB min:1908kB low:2384kB high:2860kB
>> active_anon:23328kB inactive_anon:60688kB active_file:43324kB
>> inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
>> isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
>> writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
>> slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
>> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
>> all_unreclaimable? no
>> lowmem_reserve[]: 0 0 0
>> DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
>> 0*1024kB 0*2048kB 0*4096kB = 1000kB
>> Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
>> 0*1024kB 0*2048kB 0*4096kB = 2960kB
>> 37964 total pagecache pages
>> 3160 pages in swap cache
>> Swap cache stats: add 164954, delete 161794, find 97931/115609
>> Free swap  = 937284kB
>> Total swap = 963896kB
>> 65535 pages RAM
>> 1237 pages reserved
>> 29042 pages shared
>> 38802 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: 0, objs: 0, free: 0
>> skbuff alloc of size 3872 failed
>> java: page allocation failure. order:1, mode:0x4020
>> Pid: 11464, comm: java Not tainted 2.6.35.3 #3
>> Call Trace:
>>  [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
>>  [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
>>  [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
>>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>>  [<c0334097>] ? __alloc_skb+0x57/0x100
>>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
>>  [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
>>  [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
>>  [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
>>  [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
>>  [<c02195bf>] ? tasklet_action+0x5f/0x65
>>  [<c0219873>] ? __do_softirq+0x60/0xc6
>>  [<c0219907>] ? do_softirq+0x2e/0x30
>>  [<c02199f9>] ? irq_exit+0x53/0x55
>>  [<c020392c>] ? do_IRQ+0x3a/0x72
>>  [<c0202be9>] ? common_interrupt+0x29/0x30
>> Mem-Info:
>> DMA per-cpu:
>> CPU    0: hi:    0, btch:   1 usd:   0
>> Normal per-cpu:
>> CPU    0: hi:   90, btch:  15 usd:  32
>> active_anon:6158 inactive_anon:15748 isolated_anon:0
>>  active_file:11477 inactive_file:22926 isolated_file:0
>>  unevictable:468 dirty:5788 writeback:0 unstable:0
>>  free:990 slab_reclaimable:3091 slab_unreclaimable:2349
>>  mapped:1410 shmem:5 pagetables:227 bounce:0
>> DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
>> inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
>> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
>> mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
>> slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
>> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
>> pages_scanned:0 all_unreclaimable? no
>> lowmem_reserve[]: 0 238 238
>> Normal free:2960kB min:1908kB low:2384kB high:2860kB
>> active_anon:23328kB inactive_anon:60688kB active_file:43324kB
>> inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
>> isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
>> writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
>> slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
>> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
>> all_unreclaimable? no
>> lowmem_reserve[]: 0 0 0
>> DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
>> 0*1024kB 0*2048kB 0*4096kB = 1000kB
>> Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
>> 0*1024kB 0*2048kB 0*4096kB = 2960kB
>> 37964 total pagecache pages
>> 3160 pages in swap cache
>>
>> On Sun, Jun 6, 2010 at 3:42 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> >
>> > Le dimanche 06 juin 2010 à 11:56 +0200, Michael Guntsche a écrit :
>> > > On 2010.06.04 18:16:44 , Michael Guntsche wrote:
>> > > > I applied the patch recompiled and run it on the routerboard, trying
>> > > > to trigger the bug again.
>> > >
>> > > Hi Eric,
>> > >
>> > > Up to now I was not able to reproduce the bug, do you think this patch
>> > > can be pushed to mainline or is there a "better"/other  fix for it?
>> > >
>> > > Kind regards,
>> > > Michael
>> > >
>> > >
>> >
>> > Thanks Michael for testing.
>> >
>> > I'll submit ASAP an official patch, sent to all people involved in this
>> > driver to get their Ack (or Nack).
>> >
>> > IEEE80211_MAX_MPDU_LEN being 3840 + somebits is suspect, since it doesnt
>> > match 802.11 specs.
>> >
>> > It should be more close of 2304 + MAC header (32bytes) + FCS (4 bytes) ?
>> >
>> >
>> >
>> > --
>
>
> reading my former patch, I believe I mistakenly used a max_t() instead
> of a min_() macro :
>
> diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
> index ca6065b..0a0dc3a 100644
> --- a/drivers/net/wireless/ath/ath9k/recv.c
> +++ b/drivers/net/wireless/ath/ath9k/recv.c
> @@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
>        u32 size;
>
>
> -       common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
> -                                    ah->caps.rx_status_len,
> -                                    min(common->cachelsz, (u16)64));
> -
> +       size = roundup(IEEE80211_MAX_MPDU_LEN + ah->caps.rx_status_len,
> +                      min(common->cachelsz, (u16)64));
> +       common->rx_bufsize = max_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);
>
>
>
> Please use instead this one :
>
> diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
> index ca6065b..0a0dc3a 100644
> --- a/drivers/net/wireless/ath/ath9k/recv.c
> +++ b/drivers/net/wireless/ath/ath9k/recv.c
> @@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
>        u32 size;
>
>
> -       common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
> -                                    ah->caps.rx_status_len,
> -                                    min(common->cachelsz, (u16)64));
> -
> +       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);
>
>
>
>
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-08-26 17:53             ` Nikhil Sethi (निखिल सेठी)
@ 2010-09-05 15:57               ` Nikhil Sethi (निखिल सेठी)
       [not found]               ` <AANLkTi=jLwvU=EWR51Y=TQ5JYVp_DqeTx0Ocbt=NEC1-@mail.gmail.com>
  1 sibling, 0 replies; 13+ messages in thread
From: Nikhil Sethi (निखिल सेठी) @ 2010-09-05 15:57 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Michael Guntsche, linux-kernel, netdev

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
 [<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:
DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Normal per-cpu:
CPU    0: hi:   90, btch:  15 usd:  79
active_anon:7578 inactive_anon:15111 isolated_anon:0
 active_file:11157 inactive_file:20027 isolated_file:32
 unevictable:467 dirty:1159 writeback:0 unstable:0
 free:706 slab_reclaimable:0 slab_unreclaimable:0
 mapped:2183 shmem:0 pagetables:278 bounce:0
DMA free:1000kB min:124kB low:152kB high:184kB active_anon:860kB
inactive_anon:2280kB active_file:3664kB inactive_file:4876kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
mlocked:0kB dirty:8kB writeback:0kB mapped:1212kB shmem:0kB
slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:32kB
pagetables:48kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 238 238
Normal free:1824kB min:1908kB low:2384kB high:2860kB
active_anon:29452kB inactive_anon:58164kB active_file:40964kB
inactive_file:75232kB unevictable:1868kB isolated(anon):0kB
isolated(file):128kB present:243840kB mlocked:1868kB dirty:4628kB
writeback:0kB mapped:7520kB shmem:0kB slab_reclaimable:0kB
slab_unreclaimable:0kB kernel_stack:1056kB pagetables:1064kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 2*4kB 0*8kB 0*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB
0*2048kB 0*4096kB = 1000kB
Normal: 366*4kB 45*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 1824kB
35298 total pagecache pages
3724 pages in swap cache
Swap cache stats: add 82399, delete 78675, find 45215/53344
Free swap  = 891536kB
Total swap = 963896kB
65535 pages RAM
1236 pages reserved
36808 pages shared
32201 pages non-shared
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
skbuff alloc of size 3872 failed
logdrop IN=eth0 OUT= MAC=00:00:24:cb:ca:c4:00:01:5c:32:6e:41:08:00
SRC=219.143.125.205 DST=98.248.43.157 LEN=60 TOS=0x00 PREC=0x20 TTL=50
ID=362 DF PROTO=TCP SPT=53976 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
OPT (020405640402080A1EDFFF550000000001030303)
__alloc_pages_slowpath: 12 callbacks suppressed
swapper: page allocation failure. order:1, mode:0x4020
Pid: 0, comm: swapper Tainted: G        W   2.6.35.4 #1
Call Trace:
 [<c0243bfe>] ? __alloc_pages_nodemask+0x3e6/0x513
 [<c025be97>] ? slob_new_pages+0xc/0x23
 [<c025c0a1>] ? __kmalloc_node+0x39/0x72
 [<c03338d8>] ? __alloc_skb+0x5c/0x105
 [<d09fa01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<d0ab7109>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
 [<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
 [<c020768e>] ? default_idle+0x25/0x38
 [<c02017d0>] ? cpu_idle+0x2e/0x47
 [<c042361a>] ? start_kernel+0x21a/0x21d
Mem-Info:
DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Normal per-cpu:
CPU    0: hi:   90, btch:  15 usd:  13
active_anon:11994 inactive_anon:12762 isolated_anon:0
 active_file:13736 inactive_file:14175 isolated_file:0
 unevictable:467 dirty:5803 writeback:9 unstable:0
 free:2013 slab_reclaimable:0 slab_unreclaimable:0
 mapped:1957 shmem:0 pagetables:281 bounce:0
DMA free:1000kB min:124kB low:152kB high:184kB active_anon:944kB
inactive_anon:2640kB active_file:4020kB inactive_file:4000kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
mlocked:0kB dirty:48kB writeback:0kB mapped:452kB shmem:0kB
slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:24kB
pagetables:24kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 238 238
Normal free:7052kB min:1908kB low:2384kB high:2860kB
active_anon:47032kB inactive_anon:48408kB active_file:50924kB
inactive_file:52700kB unevictable:1868kB isolated(anon):0kB
isolated(file):0kB present:243840kB mlocked:1868kB dirty:23164kB
writeback:36kB mapped:7376kB shmem:0kB slab_reclaimable:0kB
slab_unreclaimable:0kB kernel_stack:1040kB pagetables:1100kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 2*4kB 0*8kB 0*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB
0*2048kB 0*4096kB = 1000kB
Normal: 1673*4kB 45*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 7052kB
32351 total pagecache pages
4052 pages in swap cache
Swap cache stats: add 119272, delete 115220, find 58684/72663
Free swap  = 874472kB
Total swap = 963896kB
65535 pages RAM
1236 pages reserved
30733 pages shared
36511 pages non-shared
skbuff alloc of size 3872 failed
swapper: page allocation failure. order:1, mode:0x4020
Pid: 0, comm: swapper Tainted: G        W   2.6.35.4 #1
Call Trace:
 [<c0243bfe>] ? __alloc_pages_nodemask+0x3e6/0x513
 [<c025be97>] ? slob_new_pages+0xc/0x23
 [<c025c0a1>] ? __kmalloc_node+0x39/0x72
 [<c03338d8>] ? __alloc_skb+0x5c/0x105
 [<d09fa01a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
 [<d0ab7109>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
 [<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
 [<c020768e>] ? default_idle+0x25/0x38
 [<c02017d0>] ? cpu_idle+0x2e/0x47
 [<c042361a>] ? start_kernel+0x21a/0x21d
Mem-Info:
DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Normal per-cpu:
CPU    0: hi:   90, btch:  15 usd:  13


2010/8/26 Nikhil Sethi (निखिल सेठी) <nikhil@sethi.ws>
>
> Thanks Eric. I have not been able to reproduce this problem after
> applying your new patch in about 12 hours of operation. Will let you
> know if the bug re-appears.
>
> Thanks
> Nikhil
>
> 2010/8/25 Eric Dumazet <eric.dumazet@gmail.com>:
> > Le mercredi 25 août 2010 à 13:25 -0700, Nikhil Sethi (निखिल सेठी) a
> > écrit :
> >> Hello.
> >>
> >> I am running 2.5.35.3 with the above patch, and I still get these
> >> failures. Though they are much less often than without the patch. A
> >> snippet from dmesg below.
> >>
> >> Please let me know what other details I should provide. Thanks
> >>
> >> skbuff alloc of size 3872 failed
> >> java: page allocation failure. order:1, mode:0x4020
> >> Pid: 11464, comm: java Not tainted 2.6.35.3 #3
> >> Call Trace:
> >>  [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
> >>  [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
> >>  [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
> >>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> >>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> >>  [<c0334097>] ? __alloc_skb+0x57/0x100
> >>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> >>  [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
> >>  [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
> >>  [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
> >>  [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
> >>  [<c02195bf>] ? tasklet_action+0x5f/0x65
> >>  [<c0219873>] ? __do_softirq+0x60/0xc6
> >>  [<c0219907>] ? do_softirq+0x2e/0x30
> >>  [<c02199f9>] ? irq_exit+0x53/0x55
> >>  [<c020392c>] ? do_IRQ+0x3a/0x72
> >>  [<c0202be9>] ? common_interrupt+0x29/0x30
> >> Mem-Info:
> >> DMA per-cpu:
> >> CPU    0: hi:    0, btch:   1 usd:   0
> >> Normal per-cpu:
> >> CPU    0: hi:   90, btch:  15 usd:  32
> >> active_anon:6158 inactive_anon:15748 isolated_anon:0
> >>  active_file:11477 inactive_file:22926 isolated_file:0
> >>  unevictable:468 dirty:5788 writeback:0 unstable:0
> >>  free:990 slab_reclaimable:3091 slab_unreclaimable:2349
> >>  mapped:1410 shmem:5 pagetables:227 bounce:0
> >> DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
> >> inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
> >> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
> >> mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
> >> slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
> >> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
> >> pages_scanned:0 all_unreclaimable? no
> >> lowmem_reserve[]: 0 238 238
> >> Normal free:2960kB min:1908kB low:2384kB high:2860kB
> >> active_anon:23328kB inactive_anon:60688kB active_file:43324kB
> >> inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
> >> isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
> >> writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
> >> slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
> >> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
> >> all_unreclaimable? no
> >> lowmem_reserve[]: 0 0 0
> >> DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
> >> 0*1024kB 0*2048kB 0*4096kB = 1000kB
> >> Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
> >> 0*1024kB 0*2048kB 0*4096kB = 2960kB
> >> 37964 total pagecache pages
> >> 3160 pages in swap cache
> >> Swap cache stats: add 164954, delete 161794, find 97931/115609
> >> Free swap  = 937284kB
> >> Total swap = 963896kB
> >> 65535 pages RAM
> >> 1237 pages reserved
> >> 29042 pages shared
> >> 38802 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: 0, objs: 0, free: 0
> >> skbuff alloc of size 3872 failed
> >> java: page allocation failure. order:1, mode:0x4020
> >> Pid: 11464, comm: java Not tainted 2.6.35.3 #3
> >> Call Trace:
> >>  [<c0243d26>] ? __alloc_pages_nodemask+0x3e6/0x513
> >>  [<c025c293>] ? __slab_alloc+0x2d7/0x2eb
> >>  [<c025c946>] ? __kmalloc_track_caller+0x74/0x95
> >>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> >>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> >>  [<c0334097>] ? __alloc_skb+0x57/0x100
> >>  [<d09e801a>] ? ath_rxbuf_alloc+0x1a/0x78 [ath]
> >>  [<d0af4100>] ? ath_rx_tasklet+0x2fb/0x808 [ath9k]
> >>  [<d0cbc89f>] ? br_handle_frame+0x1b3/0x1c3 [bridge]
> >>  [<c033d18a>] ? __netif_receive_skb+0x141/0x25f
> >>  [<d0af23c1>] ? ath9k_tasklet+0xcc/0x107 [ath9k]
> >>  [<c02195bf>] ? tasklet_action+0x5f/0x65
> >>  [<c0219873>] ? __do_softirq+0x60/0xc6
> >>  [<c0219907>] ? do_softirq+0x2e/0x30
> >>  [<c02199f9>] ? irq_exit+0x53/0x55
> >>  [<c020392c>] ? do_IRQ+0x3a/0x72
> >>  [<c0202be9>] ? common_interrupt+0x29/0x30
> >> Mem-Info:
> >> DMA per-cpu:
> >> CPU    0: hi:    0, btch:   1 usd:   0
> >> Normal per-cpu:
> >> CPU    0: hi:   90, btch:  15 usd:  32
> >> active_anon:6158 inactive_anon:15748 isolated_anon:0
> >>  active_file:11477 inactive_file:22926 isolated_file:0
> >>  unevictable:468 dirty:5788 writeback:0 unstable:0
> >>  free:990 slab_reclaimable:3091 slab_unreclaimable:2349
> >>  mapped:1410 shmem:5 pagetables:227 bounce:0
> >> DMA free:1000kB min:124kB low:152kB high:184kB active_anon:1304kB
> >> inactive_anon:2304kB active_file:2584kB inactive_file:4900kB
> >> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15864kB
> >> mlocked:0kB dirty:0kB writeback:0kB mapped:284kB shmem:0kB
> >> slab_reclaimable:648kB slab_unreclaimable:752kB kernel_stack:152kB
> >> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
> >> pages_scanned:0 all_unreclaimable? no
> >> lowmem_reserve[]: 0 238 238
> >> Normal free:2960kB min:1908kB low:2384kB high:2860kB
> >> active_anon:23328kB inactive_anon:60688kB active_file:43324kB
> >> inactive_file:86804kB unevictable:1872kB isolated(anon):0kB
> >> isolated(file):0kB present:243840kB mlocked:1872kB dirty:23152kB
> >> writeback:0kB mapped:5356kB shmem:20kB slab_reclaimable:11716kB
> >> slab_unreclaimable:8644kB kernel_stack:888kB pagetables:908kB
> >> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0
> >> all_unreclaimable? no
> >> lowmem_reserve[]: 0 0 0
> >> DMA: 76*4kB 29*8kB 5*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB
> >> 0*1024kB 0*2048kB 0*4096kB = 1000kB
> >> Normal: 650*4kB 9*8kB 2*16kB 8*32kB 0*64kB 0*128kB 0*256kB 0*512kB
> >> 0*1024kB 0*2048kB 0*4096kB = 2960kB
> >> 37964 total pagecache pages
> >> 3160 pages in swap cache
> >>
> >> On Sun, Jun 6, 2010 at 3:42 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> >> >
> >> > Le dimanche 06 juin 2010 à 11:56 +0200, Michael Guntsche a écrit :
> >> > > On 2010.06.04 18:16:44 , Michael Guntsche wrote:
> >> > > > I applied the patch recompiled and run it on the routerboard, trying
> >> > > > to trigger the bug again.
> >> > >
> >> > > Hi Eric,
> >> > >
> >> > > Up to now I was not able to reproduce the bug, do you think this patch
> >> > > can be pushed to mainline or is there a "better"/other  fix for it?
> >> > >
> >> > > Kind regards,
> >> > > Michael
> >> > >
> >> > >
> >> >
> >> > Thanks Michael for testing.
> >> >
> >> > I'll submit ASAP an official patch, sent to all people involved in this
> >> > driver to get their Ack (or Nack).
> >> >
> >> > IEEE80211_MAX_MPDU_LEN being 3840 + somebits is suspect, since it doesnt
> >> > match 802.11 specs.
> >> >
> >> > It should be more close of 2304 + MAC header (32bytes) + FCS (4 bytes) ?
> >> >
> >> >
> >> >
> >> > --
> >
> >
> > reading my former patch, I believe I mistakenly used a max_t() instead
> > of a min_() macro :
> >
> > diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
> > index ca6065b..0a0dc3a 100644
> > --- a/drivers/net/wireless/ath/ath9k/recv.c
> > +++ b/drivers/net/wireless/ath/ath9k/recv.c
> > @@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
> >        u32 size;
> >
> >
> > -       common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
> > -                                    ah->caps.rx_status_len,
> > -                                    min(common->cachelsz, (u16)64));
> > -
> > +       size = roundup(IEEE80211_MAX_MPDU_LEN + ah->caps.rx_status_len,
> > +                      min(common->cachelsz, (u16)64));
> > +       common->rx_bufsize = max_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);
> >
> >
> >
> > Please use instead this one :
> >
> > diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
> > index ca6065b..0a0dc3a 100644
> > --- a/drivers/net/wireless/ath/ath9k/recv.c
> > +++ b/drivers/net/wireless/ath/ath9k/recv.c
> > @@ -226,10 +226,10 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
> >        u32 size;
> >
> >
> > -       common->rx_bufsize = roundup(IEEE80211_MAX_MPDU_LEN +
> > -                                    ah->caps.rx_status_len,
> > -                                    min(common->cachelsz, (u16)64));
> > -
> > +       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);
> >
> >
> >
> >
> >

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
       [not found]               ` <AANLkTi=jLwvU=EWR51Y=TQ5JYVp_DqeTx0Ocbt=NEC1-@mail.gmail.com>
@ 2010-09-05 20:25                 ` Eric Dumazet
  2010-11-08 16:25                   ` Nikhil Sethi (निखिल सेठी)
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Dumazet @ 2010-09-05 20:25 UTC (permalink / raw)
  To: Nikhil Sethi (निखिल
	सेठी)
  Cc: Michael Guntsche, linux-kernel, netdev

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:




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-09-05 20:25                 ` Eric Dumazet
@ 2010-11-08 16:25                   ` Nikhil Sethi (निखिल सेठी)
  2010-11-08 17:10                     ` Eric Dumazet
  0 siblings, 1 reply; 13+ messages in thread
From: Nikhil Sethi (निखिल सेठी) @ 2010-11-08 16:25 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Michael Guntsche, linux-kernel, netdev

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@gmail.com>
>
> 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:
>
>
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-11-08 16:25                   ` Nikhil Sethi (निखिल सेठी)
@ 2010-11-08 17:10                     ` Eric Dumazet
  2010-11-08 17:22                       ` Nikhil Sethi (निखिल सेठी)
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Dumazet @ 2010-11-08 17:10 UTC (permalink / raw)
  To: Nikhil Sethi (निखिल
	सेठी)
  Cc: Michael Guntsche, linux-kernel, netdev, Hugh Dickins

Le lundi 08 novembre 2010 à 08:25 -0800, Nikhil Sethi (निखिल सेठी) a
écrit :
> 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@gmail.com>
> >
> > 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));


Its very hard to follow this thread, with a message every two months.


As I said, this patch got a min_t() instead of max_t()

http://kerneltrap.org/mailarchive/linux-kernel/2010/8/25/4611322

If you still have kmalloc-8192 allocations, I suspect you dont use right
patch.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [2.6.35-rc1] page alloc failure order:1, mode:0x4020
  2010-11-08 17:10                     ` Eric Dumazet
@ 2010-11-08 17:22                       ` Nikhil Sethi (निखिल सेठी)
  0 siblings, 0 replies; 13+ messages in thread
From: Nikhil Sethi (निखिल सेठी) @ 2010-11-08 17:22 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Michael Guntsche, linux-kernel, netdev, Hugh Dickins

As I said, this seems like a regression in 2.6.36 from 2.6.35 (which
is why I emailed after 2 months :) ). You mentioned earlier in the
thread that you were going to submit the patch to head, if there is a
separate bug/thread tracking that, I can send followups to that.

I believe I have the right 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);


2010/11/8 Eric Dumazet <eric.dumazet@gmail.com>:
> Le lundi 08 novembre 2010 à 08:25 -0800, Nikhil Sethi (निखिल सेठी) a
> écrit :
>> 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@gmail.com>
>> >
>> > 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));
>
>
> Its very hard to follow this thread, with a message every two months.
>
>
> As I said, this patch got a min_t() instead of max_t()
>
> http://kerneltrap.org/mailarchive/linux-kernel/2010/8/25/4611322
>
> If you still have kmalloc-8192 allocations, I suspect you dont use right
> patch.
>
>
>
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-11-08 17:23 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-04  9:20 [2.6.35-rc1] page alloc failure order:1, mode:0x4020 Michael Guntsche
2010-06-04 12:53 ` Eric Dumazet
2010-06-04 16:16   ` Michael Guntsche
2010-06-06  9:56     ` Michael Guntsche
2010-06-06 10:42       ` Eric Dumazet
2010-08-25 20:25         ` Nikhil Sethi (निखिल सेठी)
2010-08-25 20:44           ` Eric Dumazet
2010-08-26 17:53             ` Nikhil Sethi (निखिल सेठी)
2010-09-05 15:57               ` Nikhil Sethi (निखिल सेठी)
     [not found]               ` <AANLkTi=jLwvU=EWR51Y=TQ5JYVp_DqeTx0Ocbt=NEC1-@mail.gmail.com>
2010-09-05 20:25                 ` Eric Dumazet
2010-11-08 16:25                   ` Nikhil Sethi (निखिल सेठी)
2010-11-08 17:10                     ` Eric Dumazet
2010-11-08 17:22                       ` Nikhil Sethi (निखिल सेठी)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).