Date: Wed, 9 Mar 2011 12:29:13 GMT From: Slawa Olhovchenkov <slw@zxy.spb.ru> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/155407: Exhausted net.inet.tcp.reass.maxsegments block recovering tcp session Message-ID: <201103091229.p29CTDcb033511@red.freebsd.org> Resent-Message-ID: <201103091230.p29CUBJE094657@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 155407 >Category: kern >Synopsis: Exhausted net.inet.tcp.reass.maxsegments block recovering tcp session >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 09 12:30:11 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Slawa Olhovchenkov >Release: 8.2 >Organization: >Environment: FreeBSD mail.haustus.ru 8.2-RC3 FreeBSD 8.2-RC3 #0: Sun Jan 30 06:28:31 UTC 2011 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Exhausted net.inet.tcp.reass.maxsegments block recovering tcp session (for this socket and any other socket waiting for retransmited packets). After exhausted net.inet.tcp.reass.maxsegments allocation new entry in tcp_reass failed (for this socket and any other socket waiting for retransmited packets). te = uma_zalloc(V_tcp_reass_zone, M_NOWAIT); if (te == NULL) { TCPSTAT_INC(tcps_rcvmemdrop); m_freem(m); *tlenp = 0; return (0); } That is packet can be reduce reassemble queue dropped. >How-To-Repeat: Need high bandwidth-delay channel with high, but rare drop. After lost incoming TCP segment and before got retranmited this segment net.inet.tcp.reass.maxsegments exhausted. Software emulation: Tuning by http://fasterdata.es.net/fasterdata/host-tuning/freebsd/ sysctl net.inet.tcp.recvspace=1048576 sysctl net.inet.ip.dummynet.pipe_slot_limit=3000 ipfw pipe 1 config delay 300 queue 3000 ipfw add 100 pipe 1 ip from test_hot to me fetch http://test_host/big_file After reach 7MB/s: ipfw pipe 1 config delay 300 queue 3000 plr 0.1 >Fix: Workaround: set net.inet.tcp.reass.maxsegments in /boot/loader.conf to big value. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103091229.p29CTDcb033511>