Date: Fri, 11 Nov 2011 15:55:26 -0800 From: YongHyeon PYUN <pyunyh@gmail.com> To: Michael =?iso-8859-1?B?TGHf?= <bevan@bi-co.net> Cc: freebsd-net@freebsd.org Subject: Re: Gigabit Ethernet performance with Realtek 8111E Message-ID: <20111111235526.GC17792@michelle.cdnetworks.com> In-Reply-To: <1321046480.8512.3.camel@bevan-pc.fritz.box> References: <1320494003.19667.41.camel@bevan-pc.fritz.box> <20111106234054.GB1906@michelle.cdnetworks.com> <20111107175953.GA1646@michelle.cdnetworks.com> <1321046480.8512.3.camel@bevan-pc.fritz.box>
next in thread | previous in thread | raw e-mail | index | archive | help
--vtzGhvizbBRQ85DL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Nov 11, 2011 at 10:21:20PM +0100, Michael La?? wrote: > Hi! > > Sorry for my late response. > > Am Montag, den 07.11.2011, 09:59 -0800 schrieb YongHyeon PYUN: > > > > > > Some revisions of RealTek controller have FIFO overrun issue but > > > I'm not sure whether you're seeing the issue. Try enabling flow > > > control and see whether that makes any difference. You can enable > > > it by issuing 'ifconfig re0 media flow'. > > > > This should be read as 'ifconfig re0 mediaopt flow'. > > It may be that enabling flow control helps a bit but it definately does > not solve the problem. There are still hundreds of packets missed in > just one or two minutes. Maybe there is no difference at all. > Ok, try attached patch and let me know how it works. > > > Show me the dmesg output. RealTek uses the same device PCI ids so it's > > > impossible to know which controller you have from the pciconf(8) > > > output. > > I think the relevant part is this one: > > re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0x1000-0x10ff mem 0xf0004000-0xf0004fff,0xf0000000-0xf0003fff irq 16 at device 0.0 on pci1 > > re0: Using 1 MSI-X message > > re0: Chip rev. 0x2c000000 > > re0: MAC rev. 0x00000000 > > miibus0: <MII bus> on re0 > > rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0 > > rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow > > re0: Ethernet address: 38:60:77:3e:af:a5 > Your controller is RTL8168E. > Full dmesg output is also attached. > > Greetings, > Michael > > PS: In my first mail I wrote that I can reproduce the problem only with > one of two connected hosts. I think the reason is that the other host > only produces a maximum of 250Mbit/s while the problematic transfers go > up to 550Mbit/s. --vtzGhvizbBRQ85DL Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="re.oflow.diff" Index: sys/dev/re/if_re.c =================================================================== --- sys/dev/re/if_re.c (revision 227451) +++ sys/dev/re/if_re.c (working copy) @@ -2524,6 +2524,8 @@ intrs = RL_INTRS_CPLUS; status = CSR_READ_2(sc, RL_ISR); + if ((status & RL_ISR_FIFO_OFLOW) != 0) + status |= RL_ISR_RX_OVERRUN; CSR_WRITE_2(sc, RL_ISR, status); if (sc->rl_int_rx_act > 0) { intrs &= ~(RL_ISR_RX_OK | RL_ISR_RX_ERR | RL_ISR_FIFO_OFLOW | --vtzGhvizbBRQ85DL--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111111235526.GC17792>