Re: re(4) driver dropping packets when reading NFS files

From: Pyun YongHyeon <pyunyh_at_gmail.com>
Date: Mon, 1 Nov 2010 10:30:36 -0700
On Sun, Oct 31, 2010 at 05:46:57PM -0400, Rick Macklem wrote:
> I recently purchased a laptop that has a re(4) Realtek 8101E/8102E/8103E net
> chip in it and I find that it is dropping packets like crazy when reading
> files over an NFS mount. (It seems that bursts of receive traffic cause it,
> since when I look over wireshark, typically the 2nd packet in a read reply
> is not received, although it was sent at the other end.)
> 

Are you using NFS over UDP?

> Adding "options DEVICE_POLLING" helps a lot. (ie. order of magnitude faster
> reading) Does this hint that interrupts are being lost or delayed too much?
> 

Actually I'm not a fan of polling(4) but re(4) controllers might be
exceptional one due to controller limitation but order of magnitude
faster indicates something is wrong in driver.

> Anyhow, if anyone has an idea on what the cause/fix might be or are familiar
> with the driver/hardware, I'd appreciate hearing about it.
> 

AFAIK re(4) controllers lacks interrupts moderation so re(4) used
to rely on taskqueue to reduce number of interrupts. It was written
long time ago by Bill and I'm not sure whether it's still valid for
recent PCIe RealTek controllers. One of problem is getting
stand-alone PCIe controllers in market and I was not able to buy
recent controllers. This is one of reason why re(4) still lacks TSO,
jumbo frame and 64bit DMA support for newer controllers. Another
problem is RealTek no longer releases data sheet so it's hard to
write new features that may present on recent controllers.

Recent re(4) controllers started to support small set of hardware
MAC statistics counters and that may help to understand how many
frames were lost under heavy load. I'll let you know when I have a
patch for that. Flow-control may also enhance performance a little
bit but it was not implemented yet like most other consumer grade
ethernet drivers. But this may change in near future, marius_at_ is
actively working on this so we'll get generic flow-control
framework in tree.

I'll see what can be done in interrupt handler and I'll let you
know when patch is ready.

> Thanks, rick
> ps: This laptop is running a low end AMD cpu and I did install amd64 on it,
>     instead of i386, in case that might be relevent?

I don't think so.
Received on Mon Nov 01 2010 - 16:30:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC