mm or tlan: Couldn't allocate memory for received data.

From: Jorgen Skjaanes (jorgen@gulesider.no)
Date: Wed Feb 16 2000 - 20:29:03 EST


I'm seeing the above quite regularly in all the latest 2.3.x
kernels. I'm not sure if it's an mm bug or just a bug in the
tlan driver. I can pretty much look at the slabinfo and predict
if the driver soon will start complaining. And when it does the
system is either freezing for a period, or responding with
'bash: fork: Cannot allocate memory' to every command, or still
work fine. Mostly all of the above in turn.
The network can be almost idle when it happens.

Here's a session where I cat /proc/slabinfo about every
other second (kernel 2.3.45):

[..]$ cat /proc/slabinfo
slabinfo - version: 1.0
kmem_cache 34 62 124
tcp_tw_bucket 0 0 92
tcp_bind_bucket 23 127 28
tcp_open_request 0 0 60
inet_peer_cache 2 63 60
ip_fib_hash 10 127 28
ip_dst_cache 9 50 156
arp_cache 2 31 124
skbuff_head_cache 19462 19475 156
sock 1112 1115 764
filp 1887 1890 92
inode_cache 1616 2288 348
bdev_cache 4 63 60
signal_queue 2 29 132
kiobuf 0 0 188
buffer_head 1972 2646 92
mm_struct 52 75 156
vm_area_struct 1744 1827 60
dentry_cache 1472 2883 124
files_cache 51 54 412
uid_cache 5 127 28
size-131072 0 0 131072
size-65536 0 0 65536
size-32768 0 0 32768
size-16384 0 1 16384
size-8192 0 1 8192
size-4096 274 284 4096
size-2048 3951 3952 2048
size-1024 41 48 1024
size-512 40 48 512
size-256 300 336 284
size-128 496 525 156
size-64 1107 1134 92
size-32 1397 1449 60
slab_cache 1144 1197 60
[..]$ cat /proc/slabinfo
bash: fork: Cannot allocate memory
[..]$ cat /proc/slabinfo
bash: fork: Cannot allocate memory
[..]$ cat /proc/slabinfo
slabinfo - version: 1.0
kmem_cache 34 62 124
tcp_tw_bucket 0 0 92
tcp_bind_bucket 23 127 28
tcp_open_request 0 0 60
inet_peer_cache 2 63 60
ip_fib_hash 10 127 28
ip_dst_cache 9 50 156
arp_cache 2 31 124
skbuff_head_cache 19947 19950 156
sock 1141 1145 764
filp 1919 1932 92
inode_cache 1440 2046 348
bdev_cache 4 63 60
signal_queue 2 29 132
kiobuf 0 0 188
buffer_head 1229 1806 92
mm_struct 52 75 156
vm_area_struct 1744 1827 60
dentry_cache 1441 2759 124
files_cache 51 54 412
uid_cache 5 127 28
size-131072 0 0 131072
size-65536 0 0 65536
size-32768 0 0 32768
size-16384 0 1 16384
size-8192 0 1 8192
size-4096 274 276 4096
size-2048 4083 4084 2048
size-1024 41 48 1024
size-512 40 48 512
size-256 300 308 284
size-128 496 525 156
size-64 1136 1176 92
size-32 1427 1449 60
slab_cache 1173 1197 60

and then X froze for a few minutes, before it got fine
again. The problem happens when the size-2048 and/or the
skbuff_head_cache zone is getting full.

The tlan driver is printing the warning in around line 1313 in tlan.c

new_skb = dev_alloc_skb( TLAN_MAX_FRAME_SIZE + 7 )
if ( new_skb != NULL ) {
      [...]
}
else
    printk(KERN_WARNING "TLAN: Couldn't allocate memory for received data.\n" );

the box is a UP pentium II with 64MB of ram, tlan compiled in staticly.

If there's any thing I can do to figure it out, apply debug-patches,
give more details or whatever then please tell me.

-- 
Jorgen

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:17 EST