bge dropping packets issue
Jung-uk Kim
jkim at FreeBSD.org
Wed Apr 16 21:24:30 UTC 2008
On Wednesday 16 April 2008 05:02 pm, Alexander Sack wrote:
> On Wed, Apr 16, 2008 at 4:54 PM, Jung-uk Kim <jkim at 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 at 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
More information about the freebsd-net
mailing list