The problem is still present in Ubuntu 9.10. In my case the machine has 120MB of memory and 192MB of swap. Swap usage was about 10MB when the following happened during heavy network IO:
I will try the latest mainline kernel after new-years-day but i am not expecting any better because the same kind of problem (also for other drivers) has been known for years and new kernel versions did not fix the problem.
The problem is still present in Ubuntu 9.10. In my case the machine has 120MB of memory and 192MB of swap. Swap usage was about 10MB when the following happened during heavy network IO:
[ 2489.732639] swapper: page allocation failure. order:0, mode:0x4020 16-generic- pae #53-Ubuntu pages_slowpath+ 0x340/0x480 pages_nodemask+ 0x10f/0x120 0x19a/0x200 alloc+0xaf/ 0x260 track_caller+ 0x16a/0x180 alloc_skb+ 0x1e/0x40 alloc_skb+ 0x1e/0x40 skb+0x4d/ 0x130 alloc_skb+ 0x1e/0x40 rx+0xd3/ 0x280 [8139too] poll+0x45/ 0xc0 [8139too] get_next+ 0x3d/0x50 action+ 0xe5/0x1c0 interrupt+ 0x96/0x180 [8139too] 0x90/0x1a0 spin_lock_ flags+0x8/ 0x10 irqsave+ 0x2a/0x40 8259A_irq+ 0x42/0x60 0x3d/0x40 timer_interrupt +0x57/0x90 interrupt+ 0x30/0x40 safe_halt+ 0x5/0x10 idle+0x46/ 0xd0 0x2e6/0x2ec bootoption+ 0x0/0x1ab kernel+ 0x7c/0x83 file:3304kB unevictable:0kB present:15804kB pages_scanned:32 all_unreclaimable? no anon:1688kB active_file:48628kB inactive_ file:47192kB unevictable:0kB present:112584kB pages_scanned:806 all_unreclaimable? no
[ 2489.732659] Pid: 0, comm: swapper Not tainted 2.6.31-
[ 2489.732668] Call Trace:
[ 2489.732696] [<c057481e>] ? printk+0x18/0x1a
[ 2489.732720] [<c01ba2c0>] __alloc_
[ 2489.732735] [<c01ba50f>] __alloc_
[ 2489.732754] [<c01e201a>] new_slab+
[ 2489.732769] [<c01e2fcf>] __slab_
[ 2489.732783] [<c01e3f6a>] __kmalloc_
[ 2489.732803] [<c0499c8e>] ? __netdev_
[ 2489.732815] [<c0499c8e>] ? __netdev_
[ 2489.732828] [<c049995d>] __alloc_
[ 2489.732840] [<c0499c8e>] __netdev_
[ 2489.732881] [<c8723a53>] rtl8139_
[ 2489.732901] [<c8723c45>] rtl8139_
[ 2489.732922] [<c0168f0d>] ? clocksource_
[ 2489.732941] [<c04a4a75>] net_rx_
[ 2489.732958] [<c87233e6>] ? rtl8139_
[ 2489.732978] [<c014cc40>] __do_softirq+
[ 2489.732998] [<c0128098>] ? default_
[ 2489.733013] [<c0576bda>] ? _spin_lock_
[ 2489.733032] [<c0106b92>] ? enable_
[ 2489.733044] [<c014cd8d>] do_softirq+
[ 2489.733056] [<c014cecd>] irq_exit+0x5d/0x70
[ 2489.733067] [<c0104f10>] do_IRQ+0x50/0xc0
[ 2489.733078] [<c014cec0>] ? irq_exit+0x50/0x70
[ 2489.733099] [<c011ddc7>] ? smp_apic_
[ 2489.733111] [<c01039b0>] common_
[ 2489.733124] [<c0127365>] ? native_
[ 2489.733136] [<c010a5b6>] default_
[ 2489.733148] [<c010202c>] cpu_idle+0x8c/0xd0
[ 2489.733170] [<c0564815>] rest_init+0x55/0x60
[ 2489.733182] [<c07958cd>] start_kernel+
[ 2489.733193] [<c0795406>] ? unknown_
[ 2489.733212] [<c079507c>] i386_start_
[ 2489.733220] Mem-Info:
[ 2489.733226] DMA per-cpu:
[ 2489.733234] CPU 0: hi: 0, btch: 1 usd: 0
[ 2489.733241] Normal per-cpu:
[ 2489.733248] CPU 0: hi: 42, btch: 7 usd: 41
[ 2489.733262] Active_anon:370 active_file:13055 inactive_anon:468
[ 2489.733267] inactive_file:12624 unevictable:0 dirty:0 writeback:0 unstable:0
[ 2489.733272] free:236 slab:1936 mapped:4460 pagetables:398 bounce:0
[ 2489.733288] DMA free:496kB min:176kB low:220kB high:264kB active_anon:124kB inactive_anon:184kB active_file:3592kB inactive_
[ 2489.733301] lowmem_reserve[]: 0 109 109 109
[ 2489.733321] Normal free:448kB min:1252kB low:1564kB high:1876kB active_anon:1356kB inactive_
[ 2489.733334] lowmem_reserve[]: 0 0 0 0
[ 2489.733347] DMA: 124*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 496kB
[ 2489.733379] Normal: 10*4kB 35*8kB 0*16kB 0*32kB 0*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 448kB
[ 2489.733412] 25814 total pagecache pages
[ 2489.733419] 130 pages in swap cache
[ 2489.733427] Swap cache stats: add 9536, delete 9406, find 1800/3009
[ 2489.733434] Free swap = 180752kB
[ 2489.733440] Total swap = 192740kB
[ 2489.735890] 32448 pages RAM
[ 2489.735896] 0 pages HighMem
[ 2489.735901] 2391 pages reserved
[ 2489.735907] 6927 pages shared
[ 2489.735912] 25106 pages non-shared
[ 2489.735922] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[ 2489.735935] cache: kmalloc-2048, object size: 2048, buffer size: 2048, default order: 2, min order: 0
[ 2489.735946] node 0: slabs: 120, objs: 792, free: 0
[ 2489.735959] eth1: Memory squeeze, dropping packet.
[...]
I will try the latest mainline kernel after new-years-day but i am not expecting any better because the same kind of problem (also for other drivers) has been known for years and new kernel versions did not fix the problem.