From owner-freebsd-net@FreeBSD.ORG Sat Oct 17 05:22:31 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D85C81065679 for ; Sat, 17 Oct 2009 05:22:31 +0000 (UTC) (envelope-from rihad@mail.ru) Received: from mx74.mail.ru (mx74.mail.ru [94.100.176.89]) by mx1.freebsd.org (Postfix) with ESMTP id 973248FC13 for ; Sat, 17 Oct 2009 05:22:31 +0000 (UTC) Received: from [217.25.27.27] (port=60158 helo=[217.25.27.27]) by mx74.mail.ru with asmtp id 1Mz1kK-000CuI-00; Sat, 17 Oct 2009 09:22:28 +0400 Message-ID: <4AD95493.40200@mail.ru> Date: Sat, 17 Oct 2009 10:22:27 +0500 From: rihad User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) MIME-Version: 1.0 To: rihad References: <4AD6D99E.10805@mail.ru> In-Reply-To: <4AD6D99E.10805@mail.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam: Not detected X-Mras: Ok Cc: freebsd-net@freebsd.org Subject: Re: dummynet dropping too many packets X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Oct 2009 05:22:31 -0000 rihad wrote: > For now we've mostly disabled dummynet and the drops have stopped, > thanks to some extra unused bandwidth we have. But this isn't a real > solution, of course, so this weekend I'm going to try the suggestion > made by Robert Watson: > > > In the driver init code in if_bce, the following code appears: > > > > ifp->if_snd.ifq_drv_maxlen = USABLE_TX_BD; > > IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); > > IFQ_SET_READY(&ifp->if_snd); > > > > Which evaluates to a architecture-specific value due to varying > pagesize. You might just try forcing it to 1024. > In a few days I'm going to try it anyway, and if the system locks up > I'll just revert back to the original code > > TIA > Just rebooted with the "ifp->if_snd.ifq_drv_maxlen = 1024;" kernel, all ok so far. There's currenlty only 1000 or so entries in the ipfw table and around 350-400 net mbps load, so I'll wait a few hours for the numbers to grow to >2000 and 460-480 respectively and see if the drops still occur. P.S.: BTW, there's a small admin-type inconsistency in FreeBSD 7.1: /etc/rc.firewall gets executed before values set by /etc/sysctl.conf are in effect, so "queue 2000" isn't allowed in ipfw pipe rules (as net.inet.ip.dummynet.pipe_slot_limit is only 100 by default), so the rules are silently failing without any trace in the log files - I only saw the errors at the console.