Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Apr 2008 17:24:11 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        "Alexander Sack" <pisymbol@gmail.com>
Cc:        freebsd-net@freebsd.org, Dieter <freebsd@sopwith.solgatos.com>
Subject:   Re: bge dropping packets issue
Message-ID:  <200804161724.21507.jkim@FreeBSD.org>
In-Reply-To: <3c0b01820804161402u3aac4425n41172294ad33a667@mail.gmail.com>
References:  <3c0b01820804160929i76cc04fdy975929e2a04c0368@mail.gmail.com> <200804161654.22452.jkim@FreeBSD.org> <3c0b01820804161402u3aac4425n41172294ad33a667@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 16 April 2008 05:02 pm, Alexander Sack wrote:
> On Wed, Apr 16, 2008 at 4:54 PM, Jung-uk Kim <jkim@freebsd.org> 
wrote:
> > On Wednesday 16 April 2008 04:28 pm, Alexander Sack wrote:
> >  > On Wed, Apr 16, 2008 at 2:56 PM, Jung-uk Kim
> >  > <jkim@freebsd.org>
> >
> >  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



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