From owner-freebsd-net@FreeBSD.ORG Wed Apr 16 21:24:29 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id 13BFF1065678; Wed, 16 Apr 2008 21:24:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: "Alexander Sack" Date: Wed, 16 Apr 2008 17:24:11 -0400 User-Agent: KMail/1.6.2 References: <3c0b01820804160929i76cc04fdy975929e2a04c0368@mail.gmail.com> <200804161654.22452.jkim@FreeBSD.org> <3c0b01820804161402u3aac4425n41172294ad33a667@mail.gmail.com> In-Reply-To: <3c0b01820804161402u3aac4425n41172294ad33a667@mail.gmail.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200804161724.21507.jkim@FreeBSD.org> Cc: freebsd-net@freebsd.org, Dieter Subject: Re: bge dropping packets issue 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: Wed, 16 Apr 2008 21:24:30 -0000 On Wednesday 16 April 2008 05:02 pm, Alexander Sack wrote: > On Wed, Apr 16, 2008 at 4:54 PM, Jung-uk Kim wrote: > > On Wednesday 16 April 2008 04:28 pm, Alexander Sack wrote: > > > On Wed, Apr 16, 2008 at 2:56 PM, Jung-uk Kim > > > > > > > wrote: > > > > [CC trimmed] > > > > > > > > On Wednesday 16 April 2008 02:20 pm, Alexander Sack wrote: > > > > > Dieter: Thanks, at 20Mbps! That's pretty aweful. > > > > > > > > > > JK: Thanks again. Wow, I searched the list and didn't > > > > > see much discussion with respect to bge and packet loss! > > > > > I will try the rest of that patch including pushing the > > > > > TCP receive buffer up (though I don't think that's going > > > > > to help in this case). The above is based on just > > > > > looking at code.... > > > > > > > > > > I guess some follow-up questions would be: > > > > > > > > > > 1) Why isn't BGE_SSLOTS tunable (to a point)? Why can't > > > > > that be added the driver? I noticed that CURRENT has > > > > > added a lot more SYSCTL information. Moreover it seems > > > > > the Linux driver can set it up to 1024. > > > > > > > > IIRC, Linux tg3 uses one ring for both standard and jumbo. > > > > > > I'm talking about the number of slots within the ring not the > > > number of RX queues. > > > > > > I believe the bnx4 driver (thought the tg stuff was > > > deprecated??) uses 4 rings (one for each port perhaps) and > > > reads hardware register at ISR time to flip between them. > > > > I guess you are reading wrong source, i.e., bnx4(?) is NetXtreme > > II driver, which totally different family. We support them with > > bce(4). tg3 is still official Linux driver. > > You are correct, I got the names confused (this problem really > stinks)! > > However, my point still stands: > > #define TG3_RX_RCB_RING_SIZE(tp) ((tp->tg3_flags2 & > TG3_FLG2_5705_PLUS) ? 512 : 1024) > > Even the Linux driver uses higher number of RX descriptors than > FreeBSD's static 256. I think minimally making this tunable is a > fair approach. AFAIK, BCM5705+ does not support jumbo frames and it has one bigger receive ring. > If not, no biggie, but I think its worth it. I think 512 is okay for modern hardware but I have no hard feeling about adding a tunable. Jung-uk Kim