[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZXWqrPkaJD2i5g-d@builder>
Date: Sun, 10 Dec 2023 13:10:20 +0100
From: Ramón Nordin Rodriguez
<ramon.nordin.rodriguez@...roamp.se>
To: Andrew Lunn <andrew@...n.ch>
Cc: Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/3] net: microchip_t1s: additional phy support and
collision detect handling
On Mon, Nov 27, 2023 at 05:03:54PM +0100, Andrew Lunn wrote:
> > * 3-4 nodes (depending on how many usb ports and dongles I have)
> > * run iperf with long cables and CSMA/CD
> > * run iperf with long cables and CMSA/No CD
> >
> > I'll report back the results. Anything you'd like to add/focus on with
> > evaluation?
>
> Humm, thinking about how CSMA/CD works...
>
> Maybe look at what counters the MAC provides. Does it have collisions
> and bad FCS? A collision should result in a bad FCS, if you are not
> using CD. So if things are working correctly, the count for CD should
> move to FCS if you turn CD off. If CD is falsely triggering, FCS as a
> % should not really change, but you probably get more frames over the
> link?
>
# setup
Andrew suggested that I try to get statistics from the MAC, I did some
investigation here but could not figure it out.
Using iperf3
Client: Arm based system running lan865x macphy
Server: PC running lan867x revB usb dongle
# test results
The results below should be considered fairly represenative but far from
perfect. There was some bounce up and down when rerunning, but these resutls
are an eye-ball average.
No meaningful difference was seen with short (2m) cables or long (12m).
## with collision detection enabled
iperf3 normal
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 5.54 MBytes 4.65 Mbits/sec 0 sender
[ 5] 0.00-10.01 sec 5.40 MBytes 4.53 Mbits/sec receiver
iperf3 reverse
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 929 KBytes 761 Kbits/sec 293 sender
[ 5] 0.00-10.00 sec 830 KBytes 680 Kbits/sec receiver
## with collision detection disabled
iperf3 normal
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 6.39 MBytes 5.36 Mbits/sec 0 sender
[ 5] 0.00-10.04 sec 6.19 MBytes 5.17 Mbits/sec receiver
iperf3 reverse
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.27 sec 1.10 MBytes 897 Kbits/sec 268 sender
[ 5] 0.00-10.00 sec 1.01 MBytes 843 Kbits/sec receiver
# Conclusions
The arm system running the lan865x macphy uses a not yet mainlined driver, see
https://lore.kernel.org/all/20231023154649.45931-1-Parthiban.Veerasooran@microchip.com/
The lan865x driver crashed out every once in a while on reverse mode, there
is definetly something biased in the driver for tx over rx.
Then again it's not accepted yet.
Disabling collision detection seemes to have an positive effect.
Slightly higher speeds and slightly fewer retransmissions.
I don't have a black and white result to present, but things seems to work
slightly better with CD disabled, so I'm leaning towards just unconditionally
disabling it for the lan865x and lan867x phys for the v2 patch.
I'll wait with submitting v2 for a day so anyone interested gets a
chance to weigh in on this.
R
Powered by blists - more mailing lists