Date: Tue, 24 Apr 2018 14:45:03 +0900 From: YongHyeon PYUN <pyunyh@gmail.com> To: Dieter BSD <dieterbsd@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Realtek re(4) driver Message-ID: <20180424054503.GC3123@michelle.fasterthan.co.kr> In-Reply-To: <CAA3ZYrBkB8WtSsoNqbCF68EumivNR6LdZBNM-xDbZMHC6adYiQ@mail.gmail.com> References: <CAA3ZYrBkB8WtSsoNqbCF68EumivNR6LdZBNM-xDbZMHC6adYiQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Apr 22, 2018 at 10:57:07PM -0700, Dieter BSD wrote: > With several days more data, the Realtek driver is slightly different > than the stock FreeBSD 10.3 driver, but it still fails a lot, with both > TCP and UDP. > [...] > My re run (1000baseT <full-duplex>) but the pauses happen even with > light traffic. You don't have to run them full blast with rcp/ftp/whatever > to get failures. > I guess benchmarks/netperf or benchmarks/iperf is better tool to measure performance of ethernet driver. rcp/ftp involves other IOs with network IO so you may measure performance of other subsystem. If you see intermittent pauses during the test, try enabling or disabling ethernet flow control of the controller. # Disable flowcontrol #ifconfig re0 media auto -mediaopt flow # Enable flowcontrol #ifconfig re0 media auto mediaopt flow [...] > rcp(1) to 8111F using Realtek driver > Both machines basically idle. > mtu=9000 on both ends but appears to be using 1500 anyway? Cached route may cache the MTU of the interface. You may have to down and re-up the interface to reflect the change. > netstat -w 1 -d -I re0 > > input re0 output > packets errs idrops bytes packets errs bytes colls drops > 5 0 0 330 6 0 755 0 0 > 4 0 0 264 4 0 564 0 0 > 5 0 0 331 5 0 630 0 0 > 17454 0 0 26176844 17453 0 1152264 0 0 > 67883 0 0 101023187 67880 0 4481248 0 0 > 52133 0 0 77141014 52140 0 3444580 0 0 > 72410 0 0 107980584 72409 0 4780384 0 0 > 80736 0 0 120645177 80735 0 5328810 0 0 > 71898 0 0 107298972 71899 0 4745634 0 0 > 14452 0 0 21510681 14475 0 955577 0 0 > 5 0 0 330 6 0 755 0 0 > 4 0 0 264 4 0 564 0 0 > 5 0 0 331 5 0 630 0 0 > 4 0 0 264 4 0 564 0 0 > 65323 0 0 97533279 65321 0 4311552 0 0 > 28383 0 0 42398766 28385 0 1873769 0 0 > 80759 0 0 120315366 80756 0 5330394 0 0 > 80992 0 0 120693553 80995 0 5345772 0 0 > 80932 0 0 120692488 80930 0 5341746 0 0 > 78905 0 0 117912275 78922 0 5209152 0 0 > 80158 0 0 119592452 80159 0 5290728 0 0 These counters are maintained in driver but it's not from MAC of the controller. So you can't tell how much RX packets were dropped before driver sees them. There is an undocumented sysctl variable which reads H/W MAC counters and output them on console. #sysctl dev.re.0.stats=1
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180424054503.GC3123>