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

next in thread | previous in thread | raw e-mail | index | archive | help
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.

If not, no biggie, but I think its worth it.

-aps



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