[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa098953-225c-17fb-9cc1-b83e5ae1662c@gmx.de>
Date: Tue, 5 Mar 2019 10:55:57 +0100
From: Simon Huelck <simonmail@....de>
To: Jose Abreu <jose.abreu@...opsys.com>,
Sebastian Gottschall <s.gottschall@...media-net.de>,
Jerome Brunet <jbrunet@...libre.com>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Cc: linux-amlogic@...ts.infradead.org, Gpeppe.cavallaro@...com,
alexandre.torgue@...com,
Emiliano Ingrassia <ingrassia@...genesys.com>,
netdev@...r.kernel.org
Subject: Re: stmmac / meson8b-dwmac
Hi guys,
1. i discovered something strange. when i never configure my external
VLAN interface UP ( firewall doesnt start, traffic shaper CAKE doesnt
start), my non duplex iperf bandwidth increases from 600MBits to 930.
2. duplex isnt working, TX is totally starving RX, the total bandwidth
is 900MBits, whats going on there ?
3. i had a MTU issue ( was set to 1500, but due to VLANs etc 1450 would
be better ) but this didnt change performance
4. even when i up eth0.4, then i down eth0.4, then flush iptables and
shaper were never added, i drop to 600MBits ....
questions:
- why is duplex still not working even so the kernel says so ?
- why is TX totally starving RX, even so duplex is "on"
- when i flush all my iptable rules, and the traffic shaper, still im
bond to 600MBits ... very strange, someone got an idea ? upping eth0.4
is cutting the performance, even when other VLAN IFs like eth0.3,
eth0.2, eth0.5 are up and bridged ( eth0.4 isnt bridged somewhere )
my setup:
br-dmz 8000.7ef0fd9b157f no eth0.2
br-guest 8000.001f1fbbbd60 no wlan0
br-iot 8000.7ef0fd9b157f no eth0.5
br-lan 8000.001f1fbbbd61 no eth0.3
wlan0_1
wlan2
eth0.4 is my uplink
all the bridges are internally , eth0.4 is externally
C:\Users\Simon\Downloads\iperf3.6_64bit\iperf3.6_64bit>iperf3.exe -c
10.10.11.1 -i1
warning: Ignoring nonsense TCP MSS 0
Connecting to host 10.10.11.1, port 5201
[ 5] local 10.10.11.100 port 52173 connected to 10.10.11.1 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 384 KBytes 3.14 Mbits/sec
[ 5] 1.00-2.00 sec 384 KBytes 3.15 Mbits/sec
[ 5] 2.00-3.00 sec 1.12 MBytes 9.44 Mbits/sec
[ 5] 3.00-4.00 sec 2.00 MBytes 16.8 Mbits/sec
[ 5] 4.00-5.00 sec 2.38 MBytes 19.9 Mbits/sec
[ 5] 5.00-6.00 sec 3.12 MBytes 26.2 Mbits/sec
[ 5] 6.00-7.00 sec 4.75 MBytes 39.8 Mbits/sec
[ 5] 7.00-8.00 sec 68.4 MBytes 574 Mbits/sec
[ 5] 8.00-9.00 sec 104 MBytes 875 Mbits/sec
[ 5] 9.00-10.00 sec 105 MBytes 881 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 292 MBytes 245 Mbits/sec sender
[ 5] 0.00-10.04 sec 292 MBytes 244 Mbits/sec
receiver
iperf Done.
root@...oidc2:~# iperf3 -c 10.10.11.100 -i1
Connecting to host 10.10.11.100, port 5201
[ 5] local 10.10.11.1 port 60022 connected to 10.10.11.100 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 112 MBytes 941 Mbits/sec 0 417 KBytes
[ 5] 1.00-2.00 sec 113 MBytes 945 Mbits/sec 0 487 KBytes
[ 5] 2.00-3.00 sec 112 MBytes 940 Mbits/sec 0 487 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 941 Mbits/sec 0 512 KBytes
[ 5] 4.00-5.01 sec 109 MBytes 907 Mbits/sec 0 543 KBytes
[ 5] 5.01-6.01 sec 109 MBytes 911 Mbits/sec 0 543 KBytes
[ 5] 6.01-7.01 sec 108 MBytes 902 Mbits/sec 0 543 KBytes
[ 5] 7.01-8.01 sec 108 MBytes 905 Mbits/sec 0 543 KBytes
[ 5] 8.01-9.00 sec 106 MBytes 895 Mbits/sec 0 543 KBytes
[ 5] 9.00-10.00 sec 106 MBytes 891 Mbits/sec 0 543 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.07 GBytes 918 Mbits/sec 0 sender
[ 5] 0.00-10.04 sec 1.07 GBytes 915 Mbits/sec
receiver
--
Mar 5 09:46:03 localhost kernel: [ 105.534204] meson8b-dwmac
c9410000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
iperf Done.
root@...oidc2:~#
regards,
Simon
Am 01.03.2019 um 10:23 schrieb Jose Abreu:
> Hi Simon,
>
> On 2/27/2019 7:02 PM, Simon Huelck wrote:
>> Hi,
>>
>>
>> the thing is , that im not a stmmac developer. Yes , maybe i can bissect
>> it and yes you are lucky since im a C-developer since a long time for
>> embedded systems.
>>
>> The problem is that i dont understand the structure of stmmac and im not
>> aware of any documentation about the driver structure nor the underlying
>> ethernet hardware ( even though im used to ethernet hardware in embedded
>> environment ). So how shall i recognize the relevant change between
>> 4.14.29 and 5.0rc8 ?
>>
>>
>> Is it in the DTS/DTB, wrong hardware description ? Is it in the code ?
>> how is the duplex hardware working on this piece ?
>>
>> I can try to support you the best i can, but i have little chances to
>> analyze it myself. At which measurements / counters is it possible to
>> see that duplex is fully working ? Why did even the non-duplex
>> bandwidth regress from 900MBits to 650 ? Why is that 650 MBits dividing
>> up to TX and RX in summary when doing duplex ? Why is TX not starving in
>> duplex but RX ?
>>
>> From my point of view should be the following things given:
>> - the non duplex bandwidth should be somewhere around 900MBits , the HW
>> is capable of that
>> - TX should not influence RX or vice versa in duplex
>> - the duplex bandwidth should be 900MBits in both directions ( maybe a
>> bit asymetric when buffers in both dirs are not same )
>>
>> I guess we need some profiling on stmmac and ( at least i need ) more
>> knowledge of the hardware and stmmac itself. Can someone point me to the
>> driver documentation, describing the functions in the code and the
>> structure ? How can i profile stmmac ( usually im using hardware / JTAG
>> debuggers at work, but here @home i got nothing like that )
>>
>> So how do we continue ?
> When I said bissect I was meaning GIT Bissect [1]. You shouldn't
> need any development background for this. You just have to start
> bissect, compile, test and check if commit is good or not.
>
> I'm not very familiar with this feature but I think you can
> bissect pretty fast if you say you just want stmmac commits,
> check ("Cutting down bisection by giving more parameters to
> bisect start") on previous link ... In your case it would be
> stmmac changes, dts, and phy.
>
> [1] https://git-scm.com/docs/git-bisect
>
> Thanks,
> Jose Miguel Abreu
Powered by blists - more mailing lists