Realtek re(4) driver
YongHyeon PYUN
pyunyh at gmail.com
Tue Apr 24 05:45:09 UTC 2018
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
More information about the freebsd-hackers
mailing list