From: Jerome Brunet <jbrunet@baylibre.com>
To: Emiliano Ingrassia <ingrassia@epigenesys.com>,
Carlo Caione <ccaione@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
khilman@baylibre.com, robh+dt@kernel.org,
linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 0/2] meson: Fix IRQ trigger type
Date: Fri, 07 Dec 2018 20:58:06 +0100 [thread overview]
Message-ID: <6730840566fe221778d280b375910c8acb5bd5d6.camel@baylibre.com> (raw)
In-Reply-To: <20181207182845.GA3779@ingrassia.epigenesys.com>
On Fri, 2018-12-07 at 19:28 +0100, Emiliano Ingrassia wrote:
> On Fri, Dec 07, 2018 at 11:49:15AM +0100, Jerome Brunet wrote:
> > On Thu, 2018-12-06 at 19:51 +0100, Emiliano Ingrassia wrote:
> > > Hi Carlo,
> > >
> > > I keep running tests with packet generator,
> > > using nload to show bandwidth usage.
> > >
> > > Here is my test results with packet generators
> > > both running on laptop and board with rate 1 Gbps.
> >
> > Testing in UDP is unlikely to give us clear picture of anything for this
> > sort
> > of fixes.
> >
>
> Why? Would you mind to explain your reasoning?
Because we have no idea why packet are lost in UDP
>
> > All your test seems in show it the fact the Amlogic SoC usually prioritize
> > the
> > TX traffic over RX, which is something we've known about for a while.
> >
>
> Is that normal
Yes
> and/or acceptable?
Free software, Free world .. you are free to (try to) do something about it.
>
> > It would be helpful if you could provide TCP figures with a traffic
> > generator
> > we can all share an inspect, such as iperf3
> >
> > Finally, Your test do not show the original issue regarding EEE. So the
> > work
> > around we put (yes, it was never considered a solution) for it should not
> > be
> > kept IHMO. Your numbers for EEE may be due to the way the traffic is
> > generated
> > and the PHY entering LPI and taking a bit of time to exit it. Again UDP is
> > not
> > very helpful to characterize this.
> >
>
> Did you read my email entirely
Yes I did (and I'm starting to regret it)
> or just kidding me?
I don't know what you hope accomplish with that can, but you can be sure it
won't help.
>
> TEST 3 clearly shows that the issue regarding EEE is still there
> with both patches applied.
TEST 3 clearly shows nothing. Once gain with Tx priority and UDP, no
conclusion can be made from your test
>
> My comment about TEST 3 (same results as TEST 2):
> "Simple ping test from laptop to board shows a packet loss
> of 90% and more while no packet loss achieved pinging
> the laptop from the board."
>
> I definitively advice against the second patch (the part regarding
> 32 bit Meson SoC).
>
> About the first one, still no evidence that is needed on Meson8b SoC.
> And I'm saying it because I tested both patches on real hardware,
> not just guessing!
LOL. What are you trying to imply exactly ?
>
> Furthermore, as Martin reported in one of the previous mail,
> even Amlogic's buildroot kernel uses an edge rising IRQ type
> for the Meson8b MAC.
As far any other amlogic MAC ... And I think we pointed out that every other
dwmac users out there uses LEVEL, which makes a lot more sense and is stable.
> Other evidence that is not so clear
> the need for the first patch on 32 bit Meson SoC.
Not an evidence at all, no difference between the 32bit and 64bit arch.
>
> > > TEST 0: no patch applied.
> > >
> > > 1) Start packet generator on laptop:
> > >
> > > | incoming traffic | outgoing traffic
> > > =====================================================
> > > nload (board) | ~940 Mbps | 0 Mbps
> > > -----------------------------------------------------
> > > nload (laptop)| 0 Mbps | ~940 Mbps
> > > =====================================================
> > >
> > > 2) Start packet generator on board:
> > >
> > > | incoming traffic | outgoing traffic
> > > ==============+===================+==================
> > > nload (board) | ~460 Mbps | ~256 Mbps
> > > --------------+-------------------+------------------
> > > nload (laptop)| ~256 Mbps | ~940 Mbps
> > > =====================================================
> > >
> > > 3) Stop packet generator on laptop:
> > >
> > > | incoming traffic | outgoing traffic
> > > =====================================================
> > > nload (board) | 0 Mbps | ~940 Mbps
> > > -----------------------------------------------------
> > > nload (laptop)| ~940 Mbps | 0 Mbps
> > > =====================================================
> > >
> > > 4) Restart packet generator on laptop:
> > >
> > > | incoming traffic | outgoing traffic
> > > =====================================================
> > > nload (board) | ~0 Mbps | ~940 Mbps
> > > -----------------------------------------------------
> > > nload (laptop)| ~940 Mbps | ~940 Mbps
> > > =====================================================
> > >
> > > In the last case the "ifconfig" statistics about RX packets
> > > remain fixed which probably indicates that the incoming traffic
> > > to the board is effectively being dropped.
> > >
> > > The eth0 interrupt counter keeps incrementing.
> > > Simple ping test works correctly.
> > >
> > >
> > > TEST 1: IRQ type patch applied
> > >
> > > Same results as TEST 0.
> > >
> > >
> > > TEST 2: eee-broken-1000t flag removed
> > >
> > > 1) Start packet generator on laptop:
> > >
> > > | incoming traffic | outgoing traffic
> > > =====================================================
> > > nload (board) | ~3Mbps | 0 Mbps
> > > -----------------------------------------------------
> > > nload (laptop)| 0 Mbps | ~940 Mbps
> > > =====================================================
> > >
> > > 2) Start packet generator on board:
> > >
> > > | incoming traffic | outgoing traffic
> > > ==============+===================+==================
> > > nload (board) | ~0 Mbps | ~940 Mbps
> > > --------------+-------------------+------------------
> > > nload (laptop)| ~940 Mbps | ~940 Mbps
> > > =====================================================
> > >
> > > 3) Stop packet generator on laptop:
> > >
> > > | incoming traffic | outgoing traffic
> > > =====================================================
> > > nload (board) | 0 Mbps | ~940 Mbps
> > > -----------------------------------------------------
> > > nload (laptop)| ~940 Mbps | 0 Mbps
> > > =====================================================
> > >
> > > 4) Restart packet generator on laptop:
> > >
> > > | incoming traffic | outgoing traffic
> > > =====================================================
> > > nload (board) | ~0 Mbps | ~940 Mbps
> > > -----------------------------------------------------
> > > nload (laptop)| ~940 Mbps | ~940 Mbps
> > > =====================================================
> > >
> > > In the first case the "ifconfig" statistics about RX packets
> > > are incremented consistently with the incoming traffic value
> > > showed by the nload (board side).
> > >
> > > In the last case the "ifconfig" statistics about RX packets
> > > remain fixed which probably indicates that the incoming traffic
> > > to the board is effectively being dropped.
> > >
> > > The eth0 interrupt counter keeps incrementing.
> > > Simple ping test from laptop to board shows a packet loss
> > > of 90% and more while no packet loss achieved pinging
> > > the laptop from the board.
> > >
> > >
> > > TEST 3: both patches applied.
> > >
> > > Same results as TEST 2.
> > >
> > >
> > > From the results obtained from these tests,
> > > which are more accurate than the previous one,
> > > I can say that the second patch (remove eee-broken-1000t flag)
> > > should NOT be applied.
> > >
> > > About the first one (change MAC IRQ type), I would like
> > > to do other tests with other tools like iperf3.
> > > With these results only, I would say to not apply it
> > > because nothing changed but if your stress test failed on
> > > long running and this patch fix it I would like to test it more deeply.
> > >
> > > As final thought, the conducted tests clearly show that if the board
> > > transmits at full rate, all the incoming traffic is dropped.
> > > I think that this behaviour should be fixed but don't know if
> > > it depends on the driver or device tree description.
> > > I'll keep investigating.
> > >
> > > Regards,
> > >
> > > Emiliano
> > >
> > > On Thu, Dec 06, 2018 at 04:52:28PM +0100, Emiliano Ingrassia wrote:
> > > > Hi Carlo,
> > > >
> > > > thanks for the answer.
> > > >
> > > > On Thu, Dec 06, 2018 at 01:17:58PM +0000, Carlo Caione wrote:
> > > > > On Thu, 2018-12-06 at 13:43 +0100, Emiliano Ingrassia wrote:
> > > > > > Hi all,
> > > > >
> > > > > Hi Emiliano,
> > > > >
> > > > > > thank you for involving me.
> > > > > >
> > > > > > I applied Carlo's patches[0] on a kernel vanilla 4.19.6
> > > > > > and tested it with kernel packet generator, monitoring
> > > > > > bandwidth usage with "nload".
> > > > > >
> > > > > > All tests were conducted on an Odroid-C1+ Rev. 0.4-20150930 board
> > > > > > with a short ethernet cable directly attached to a laptop with
> > > > > > 1G ethernet interface, with "nload" running on the board.
> > > > > >
> > > > > > The tests I performed are composed by the following steps:
> > > > > >
> > > > > > 1) Start packet generator with "rate 1000M" on laptop;
> > > > > >
> > > > > > 2) Keep packet generator active on the laptop and
> > > > > > start the packet generator on the board with "rate 1000M";
> > > > > >
> > > > > > 3) Stop both packet generators;
> > > > > >
> > > > > > 4) Start packet generator on the board;
> > > > > >
> > > > > > 5) Keep packet generator active on the board and
> > > > > > start the packet generator on the laptop.
> > > > >
> > > > > out of curiosity: why do you expect to see something different from
> > > > > point (2)?
> > > > >
> > > >
> > > > I did not expect it indeed, I tried and got different results.
> > > >
> > > > > > Test results without Carlo's patches applied:
> > > > > >
> > > > > > 1) "nload" shows an incoming traffic of ~950Mbps;
> > > > > >
> > > > > > 2) "nload" shows an incoming traffic of ~400Mbps
> > > > > > and an outgoing traffic of ~250Mbps;
> > > > > >
> > > > > > 3) "nload" shows 0Mbps both for incoming and outgoing traffic;
> > > > > >
> > > > > > 4) "nload" shows an outgoing traffic of ~950Mbps from the board;
> > > > > >
> > > > > > 5) "nload" shows incoming traffic of 0Mbps
> > > > > > and an outgoing traffic of ~950Mbps.
> > > > > >
> > > > > > Applying only the first patch (change mac IRQ type) I got the same
> > > > > > results.
> > > > >
> > > > > This is expected. The change in the IRQ type is solving an issue
> > > > > that
> > > > > you can see if the run a stress test involving multiple components
> > > > > for
> > > > > several hours.
> > > > >
> > > >
> > > > OK, did you use "stress-ng" tool for tests?
> > > >
> > > > > > Applying only the second patch (drop eee-broken-1000t) I got the
> > > > > > same
> > > > > > results!
> > > > >
> > > > > I am a bit confused here. Wasn't the eee-broken-1000t added to fix a
> > > > > problem with the ethernet? Are you suggesting that for some reason
> > > > > you
> > > > > cannot reproduce anymore the problem for which the quirk was
> > > > > introduced?
> > > > >
> > > >
> > > > Problems without the "eee-broken-1000t" flags were experimented
> > > > one and a half years ago on a Amlogic development kernel from [0],
> > > > probably a 4.14 version.
> > > > Many patches about Meson8b SoC, dwmac-meson8b and dwmac driver
> > > > were introduced so yes, the "eee-broken-1000t" was added
> > > > to fix a problem with the ethernet (one and a half years ago),
> > > > but new tests are needed to say if it still necessary.
> > > >
> > > > > > With both patches applied I got the same results but with an
> > > > > > incoming
> > > > > > traffic
> > > > > > of ~3Mbps on the board.
> > > > >
> > > > > On all the tests and immediately from the start of the tests?
> > > > >
> > > >
> > > > Yes, in all the 5 steps immediately from the start.
> > > >
> > > > I also tried to execute "nload" on both sides to see the bandwidth
> > > > usage.
> > > >
> > > > With bot patches applied, after starting kernel packet generator
> > > > on my laptop with 1Gbps rate, "nload" on the laptop side shows me
> > > > an outgoing traffic of ~940Mbps while "nload" on the board side shows
> > > > me an incoming traffic of ~3Mbps.
> > > >
> > > > Also consider that a pinging test from my laptop to the board shows
> > > > a packet loss of about 90%.
> > > >
> > > > > When you hit the problem con you check in /proc/interrupts if you
> > > > > see
> > > > > the IRQ counter for the eth0 incrementing or not?
> > > > >
> > > >
> > > > The eth0 IRQ counter is incremented during the test.
> > > >
> > > > > Cheers,
> > > > >
> > > > > --
> > > > > Carlo Caione
> > > > >
> > > > >
> > > >
> > > > I would like to conduct other tests with iperf3 to be sure about
> > > > the obtained results. What do you think?
> > > > Should I apply your patches on the latest Amlogic development kernel?
> > > >
> > > > Regards,
> > > >
> > > > Emiliano
> > > >
> > > > [0]
> > > > https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic.git/
> > >
> > > Cheers,
> > >
> > > Emiliano
> > >
> > > _______________________________________________
> > > linux-amlogic mailing list
> > > linux-amlogic@lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-amlogic
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2018-12-07 19:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-04 16:04 Carlo Caione
2018-12-04 16:04 ` [PATCH 1/2] arm64: dts: meson: Fix IRQ trigger type for macirq Carlo Caione
2018-12-04 19:52 ` Neil Armstrong
2018-12-05 1:12 ` Kevin Hilman
2018-12-04 16:04 ` [PATCH 2/2] arm64: dts: meson: Remove eee-broken-1000t quirk Carlo Caione
2018-12-04 19:59 ` [PATCH 0/2] meson: Fix IRQ trigger type Martin Blumenstingl
2018-12-04 20:51 ` Carlo Caione
2018-12-06 12:43 ` Emiliano Ingrassia
2018-12-06 13:17 ` Carlo Caione
2018-12-06 15:52 ` Emiliano Ingrassia
2018-12-06 18:51 ` Emiliano Ingrassia
2018-12-07 10:49 ` Jerome Brunet
2018-12-07 11:03 ` Carlo Caione
2018-12-07 18:33 ` Emiliano Ingrassia
2018-12-07 18:28 ` Emiliano Ingrassia
2018-12-07 19:58 ` Jerome Brunet [this message]
2018-12-07 21:56 ` Martin Blumenstingl
2018-12-06 13:26 ` Jerome Brunet
2018-12-06 16:24 ` Emiliano Ingrassia
2018-12-06 13:26 ` Jerome Brunet
2018-12-07 4:17 ` Kevin Hilman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6730840566fe221778d280b375910c8acb5bd5d6.camel@baylibre.com \
--to=jbrunet@baylibre.com \
--cc=ccaione@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=ingrassia@epigenesys.com \
--cc=khilman@baylibre.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®