Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jul 2020 11:35:03 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Ganbold Tsagaankhuu <ganbold@gmail.com>
Cc:        freebsd-net@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: CFT: major update to if_ure
Message-ID:  <20200727183503.GW4213@funkthat.com>
In-Reply-To: <CAGtf9xMrbvSXnF0560faB4g%2B0RnAfAdamD8WMgW6SdM8-spm9A@mail.gmail.com>
References:  <20200725231318.GO4213@funkthat.com> <CAGtf9xOdpzKqKBUfsDU9nTvN%2BXV4khWgUHCXB02hen_qbyQURw@mail.gmail.com> <20200726211447.GQ4213@funkthat.com> <CAGtf9xMrbvSXnF0560faB4g%2B0RnAfAdamD8WMgW6SdM8-spm9A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Ganbold Tsagaankhuu wrote this message on Mon, Jul 27, 2020 at 18:29 +0800:
> On Mon, Jul 27, 2020 at 5:14 AM John-Mark Gurney <jmg@funkthat.com> wrote:
> 
> > Ganbold Tsagaankhuu wrote this message on Sun, Jul 26, 2020 at 11:05 +0800:
> > > On Sun, Jul 26, 2020 at 7:13 AM John-Mark Gurney <jmg@funkthat.com>
> > wrote:
> > >
> > > > Hello,
> > > >
> > > > I'd like people who have ure (RealTek) based USB devices to test
> > > > review D25809[0].
> > > >
> > > > This update adds support for:
> > > > - HW VLAN tagging
> > > > - HW checksum offload for IPv4 and IPv6
> > > > - tx and rx aggreegation (for full gige speeds)
> > > > - multiple transactions
> > > >
> > > > In my testing, I am able to get 900-950Mbps depending upon
> > > > TCP or UDP, which is a significant improvement over the previous
> > > > 91Mbps (~8kint/sec*1500bytes/packet*1packet/int).
> > >
> > > Does performance improve for if_ure device on USB2?
> > > I will try to test it in a couple of days on NanoPI R1 and R1S boards.
> >
> > Yes, it should.
> >
> > I never tested the before driver on USB2, but I'm now able to get
> > 211Mbps TX and 190Mbps RX TCP, and 227Mbps TX and 225Mbps RX UDP.
> >
> > I believe it is likely that the same 91Mbps speed limit applied to
> > USB2 as well.
> 
> Couldn't find your iperf test scripts and I tested only tcp:

My test script isn't performance, just features, and I'm thinking about
how/where to publish it...

You can also test UDP using -u w/ iperf3 and adjust the bandwidth w/
-b 300m (or other Mbps)...

> root@nanopi-r1s-h5:~ # iperf3 -c 192.168.111.1
> Connecting to host 192.168.111.1, port 5201
> [  5] local 192.168.111.10 port 28569 connected to 192.168.111.1 port 5201
> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> [  5]   0.00-1.00   sec  27.4 MBytes   230 Mbits/sec    0   95.4 KBytes
> [  5]   1.00-2.00   sec  27.6 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   2.00-3.00   sec  27.7 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   3.00-4.00   sec  27.6 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   4.00-5.00   sec  27.6 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   5.00-6.00   sec  27.6 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   6.00-7.00   sec  27.7 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   7.00-8.00   sec  27.7 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   8.00-9.00   sec  27.6 MBytes   232 Mbits/sec    0   95.4 KBytes
> [  5]   9.00-10.00  sec  27.6 MBytes   232 Mbits/sec    0   95.4 KBytes
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec   276 MBytes   232 Mbits/sec    0             sender
> [  5]   0.00-10.79  sec   276 MBytes   215 Mbits/sec
>  receiver
> 
> iperf Done.
> root@nanopi-r1s-h5:~ # iperf3 -c 192.168.111.1 -R
> Connecting to host 192.168.111.1, port 5201
> Reverse mode, remote host 192.168.111.1 is sending
> [  5] local 192.168.111.10 port 29384 connected to 192.168.111.1 port 5201
> [ ID] Interval           Transfer     Bitrate
> [  5]   0.00-1.00   sec  12.1 MBytes   102 Mbits/sec
> [  5]   1.00-2.00   sec  12.1 MBytes   102 Mbits/sec
> [  5]   2.00-3.00   sec  12.1 MBytes   101 Mbits/sec
> [  5]   3.00-4.00   sec  12.1 MBytes   102 Mbits/sec
> [  5]   4.00-5.00   sec  12.1 MBytes   102 Mbits/sec
> [  5]   5.00-6.00   sec  12.1 MBytes   102 Mbits/sec
> [  5]   6.00-7.00   sec  12.1 MBytes   101 Mbits/sec
> [  5]   7.00-8.00   sec  12.1 MBytes   102 Mbits/sec
> [  5]   8.00-9.00   sec  12.1 MBytes   101 Mbits/sec
> [  5]   9.00-10.00  sec  12.1 MBytes   102 Mbits/sec
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-11.25  sec   121 MBytes  90.3 Mbits/sec  2539
> sender
> [  5]   0.00-10.00  sec   121 MBytes   101 Mbits/sec
>  receiver
> 
> iperf Done.
> root@nanopi-r1s-h5:~ # sysctl -a | grep cpu.0.freq
> dev.cpu.0.freq_levels: 1248/-1 1008/-1 816/-1 624/-1 480/-1
> dev.cpu.0.freq: 1248

Hmmm... The reverse seems slow, but I can't think of why it'd be that
slow though.  When I did my tests on the USB2 ports, both directions
were about the same speed...

Thanks for the test!  Great to hear things are working...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200727183503.GW4213>