Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jun 2002 15:24:34 -0400
From:      Don Bowman <don@sandvine.com>
To:        "'freebsd-stable@freebsd.org'" <freebsd-stable@freebsd.org>
Subject:   panic in syncache/rtfree with 4.6
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337676579@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help

Has anyone else seen anything like this...

panic(c0334f20,c392e400,ff807f44,c021fd76,c392e400) at panic+0xa4
rtfree(c392e400) at rtfree+0x27
syncache_free(debe8fc0,62000000,debe8fc0,1,debe8660) at syncache_free+0x56
syncache_drop(debe8fc0,0,1,c0220118,40000000) at syncache_drop+0xd8
syncache_timer(1,40000000,0,0,ffffffff) at syncache_timer+0xa8
softclock(0,ff800018,10,c0390010,ffffffff) at softclock+0xd1
doreti_swi() at doreti_swi+0xf

The system is running 4.6. There were messages that immediately
preceeded this about 'All mbuf clusters exhausted, please see tuning(7).'.

Does it seem reasonable to get a panic in this circumstance?

The system is setup with 1GB of memory, 2x 2GHz XEON processors.

I'm using ipfw with a 'fwd' rule to attract non-local traffic, like this:
00100 allow ip from any to any via lo0
00101 allow ip from me to any
00102 allow ip from any to me
00105 fwd 127.0.0.1,8000 tcp from any to any 5000
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
65000 allow ip from any to any
65535 allow ip from any to any

I have a process listening on local tcp port 8000 which uses kqueue/kevent
with a single thread of execution.

I had:
# sysctl -a |grep nmb
kern.ipc.nmbclusters: 6656
kern.ipc.nmbufs: 26624

(which I'm in the process of increasing :)

I'm expecting to keep ~35K TCP sessions open on this device. Is syncache
appropriate, or should I disable and use an external device to protect
against DOS?


net.inet.ip.fw.dyn_syn_lifetime: 20
net.inet.tcp.syncookies: 1
net.inet.tcp.syncache.bucketlimit: 30
net.inet.tcp.syncache.cachelimit: 15359
net.inet.tcp.syncache.count: 0
net.inet.tcp.syncache.hashsize: 512
net.inet.tcp.syncache.rexmtlimit: 3

post-restart I see:
vm.zone: 
ITEM            SIZE     LIMIT    USED    FREE  REQUESTS

PIPE:            160,        0,      2,    100,       46
SWAPMETA:        160,   256702,      0,      0,        0
unpcb:           160,        0,      5,     45,       61
ripcb:           192,    12328,      0,     21,        1
divcb:           192,    12328,      0,      0,        0
syncache:        160,    15359,      0,      0,        0
tcpcb:           544,    12328,      2,     13,        2
udpcb:           192,    12328,      5,     37,       47
socket:          192,    12328,     12,     30,      116
KNOTE:            64,        0,      0,    128,       10
DIRHASH:        1024,        0,     20,      4,       29
NFSNODE:         352,        0,      3,     19,        3
NFSMOUNT:        544,        0,      3,     11,        3
VNODE:           192,        0,    895,     59,      895
NAMEI:          1024,        0,      0,     16,     3309
VMSPACE:         192,        0,     21,     43,      164
PROC:            416,        0,     26,     23,      169
DP fakepg:        64,        0,      0,      0,        0
PV ENTRY:         28,  1756814,   7080, 254927,    43688
MAP ENTRY:        48,        0,    301,    167,    10625
KMAP ENTRY:       48,    64303,     84,    129,      709
MAP:             108,        0,      7,      3,        7
VM OBJECT:        96,        0,    407,     59,     2747


--don

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337676579>