Gigabit Ethernet performance with Realtek 8111E

Rick Macklem rmacklem at uoguelph.ca
Sun Nov 6 15:49:59 UTC 2011


Michael wrote:
> Hi!
> 
> Am Samstag, den 05.11.2011, 11:03 -0400 schrieb Rick Macklem:
> > try typing:
> > # sysctl dev.re.0.stats=1
> > - this will dump out the stats on the chip
> >   if the "Rx missed frames" count is non-zero, you're probably
> >   snookered,
> >   to put it technically:-)
> >   - That's what I get for a re chip is this laptop and I haven't
> >   found
> >     a way around it. I just live with flakey net performance.
> 
> Rx missed frames is >0 indeed. Every time I see those drops in speed
> the
> number of missed frames increases by approx. 20-50.
> 
> When searching for this problem I found your old thread on
> freebsd-current[1]. It seems that the problem is way less severe here.
> Some transfers even don't cause any problems. Others however spend
> more
> time at 0kbit/s than actually transferring data...
> It also seems like transfers are stabilizing after some seconds but
> that
> is not always the case.
> In good times the rate of missed frames is below 0.01%.
> 
> I think the Dup ACKs are just a result of these lost packages. I do
> not
> see them always when these problems occur.
> 
> Was there any progress after your last mail on 8th of Nov.?
> 
Nope. For my case, when Rx frames are missed, there is a Fifo overflow
reported. I'm no hardware guy, but my understanding is that, sometimes,
the dma engine transferring data to the receive buffers doesn't keep up
and the fifo fills up.

I did try assorted hacks on the driver, but none of them got rid of
the problem. For my case the combination of these two things did
reduce the # of Rx packets missed, but not down to 0.
- disable msi interrupts (there's an option in the driver)
- comment out the few lines of code that disabled/re-enabled
  interrupts (I don't think this code is broken, but for some reason,
  leaving the interrupts enabled reduced the # of Rx missed for this
  laptop. Maybe the dma engine stops running when interrupts are being
  switched on/off? Just pure conjecture, of course.)
Also, only both of the above together made a difference. Each one
individually didn't help.

I heard that there was a driver for BSD out there somewhere that puts
all the Realtek chips in 8139 compatible mode and drives them that way,
but I never even gotten as far as searching for this driver.

Good luck with it, rick
> Greetings,
> Michael
> 
> [1]:
> http://lists.freebsd.org/pipermail/freebsd-current/2010-October/020793.html
> http://lists.freebsd.org/pipermail/freebsd-current/2010-November/020797.html
> 
> 
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list