[RPI-B] [HEADS UP] DWC OTG TX path optimisation for 11-current

Jia-Shiun Li jiashiun at gmail.com
Mon Jul 27 13:31:51 UTC 2015


On Fri, Jul 24, 2015 at 8:41 PM, Hans Petter Selasky <hps at selasky.org>
wrote:

>
> Can you try to tune "DWC_OTG_NAK_MAX" in the range "16 .. 255"  and see if
> it makes any difference?
>
>

Hi,

the original value is 16 so I skipped testing it again. Below results from
32 to 256,
in short the result is
(NAK_MAX: RX thgoughput MB/s)
256: 58.5
255: 59.8
128: 59.8
64: 60.2
32: 13.3

Setting it to 64 seems good enough for now.
But I thought it would be easy to saturate fast ethernet. ;) No?
'top' shows major loading on usb kproc when reaching 60MB/s.
'vmstat -i' shows 30000 int/s from dwcotg.


- Jia-Shiun.



256:
jsli at rpi2:~ % iperf -c 192.168.111.192
------------------------------------------------------------
Client connecting to 192.168.111.192, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.92 port 46425 connected with 192.168.111.192 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  81.0 MBytes  67.9 Mbits/sec
jsli at rpi2:~ %

jsli at 4cbsd:~ % iperf -c 192.168.111.92
------------------------------------------------------------
Client connecting to 192.168.111.92, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.192 port 24444 connected with 192.168.111.92 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  70.5 MBytes  58.5 Mbits/sec

255:
jsli at rpi2:~ % iperf -c 192.168.111.192
------------------------------------------------------------
Client connecting to 192.168.111.192, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.92 port 41623 connected with 192.168.111.192 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  88.9 MBytes  74.5 Mbits/sec
jsli at rpi2:~ %

jsli at 4cbsd:~ % iperf -c 192.168.111.92
------------------------------------------------------------
Client connecting to 192.168.111.92, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.192 port 15654 connected with 192.168.111.92 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  71.4 MBytes  59.8 Mbits/sec
jsli at 4cbsd:~ %

128:
jsli at rpi2:~ % iperf -c 192.168.111.192
------------------------------------------------------------
Client connecting to 192.168.111.192, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.92 port 15108 connected with 192.168.111.192 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  87.9 MBytes  73.5 Mbits/sec
jsli at rpi2:~ %

jsli at 4cbsd:~ % iperf -c 192.168.111.92
------------------------------------------------------------
Client connecting to 192.168.111.92, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.192 port 62676 connected with 192.168.111.92 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  71.4 MBytes  59.8 Mbits/sec
jsli at 4cbsd:~ %

64:
jsli at rpi2:~ % iperf -c 192.168.111.192
------------------------------------------------------------
Client connecting to 192.168.111.192, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.92 port 10000 connected with 192.168.111.192 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  89.8 MBytes  75.2 Mbits/sec
jsli at rpi2:~ %

jsli at 4cbsd:~ % iperf -c 192.168.111.92
------------------------------------------------------------
Client connecting to 192.168.111.92, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.192 port 43080 connected with 192.168.111.92 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  71.9 MBytes  60.2 Mbits/sec
jsli at 4cbsd:~ %


32:
jsli at rpi2:~ % iperf -c 192.168.111.192
------------------------------------------------------------
Client connecting to 192.168.111.192, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.92 port 19313 connected with 192.168.111.192 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  88.9 MBytes  74.4 Mbits/sec
jsli at rpi2:~ %

jsli at 4cbsd:~ % iperf -c 192.168.111.92
------------------------------------------------------------
Client connecting to 192.168.111.92, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.111.192 port 17061 connected with 192.168.111.92 port
5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  15.9 MBytes  13.3 Mbits/sec
jsli at 4cbsd:~ %


More information about the freebsd-arm mailing list