lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 6 Mar 2019 12:35:49 +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,

i sorted out some more things:

- i did not activate tcp window scaling , with this , iperf3 is reaching
930MBits now, this was related to my firewall and therefore my uplink.

so the remaining topic is ( and im currently testing with next-20190306 )

TX is starving RX and the total bandwith seem to be limited to 930MBits
instead of something like 930MBits * 2 for duplex.

@Jose, do you have some hints on that ? i saw that you introduced
patches for that , but somehow RX/TX are not equally sharing the NAPI
budget. But i wonder why the TX queue and RX queue collide at all,
shouldnt they be indipendent ?

regards,
Simon
> 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

Powered by Openwall GNU/*/Linux Powered by OpenVZ