[Bloat] Marvell 385

Rosen Penev rosenp at gmail.com
Sun Aug 26 20:55:22 EDT 2018


On Sun, Aug 26, 2018 at 2:09 PM Dave Taht <dave.taht at gmail.com> wrote:
>
> On Sun, Aug 26, 2018 at 1:58 PM Rosen Penev <rosenp at gmail.com> wrote:
> >
> > On Sun, Aug 26, 2018 at 11:44 AM Mikael Abrahamsson <swmike at swm.pp.se> wrote:
> > >
> > > On Sat, 25 Aug 2018, Dave Taht wrote:
> > >
> > > > The expressobin is a Marvell Armada "3700LP (88F3720) dual core ARM
> > > > Cortex A53 processor up to 1.2GHz" - how does that compare? I have
> > > > plenty of ath10k and ath9k pcmcia cards....
> > >
> > > I have one of these, incl wifi. Right now the drivers are not in great
> > > shape, but they're being worked on. My espressobin has worse performance
> > > than on its wired ports than my WRT1200AC (Armada 385).
> > If as you mentioned earlier that ethernet performance is limited by
> > interrupts, then this commit is kind of depressing:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/net/ethernet/marvell/mvneta.c?h=next-20180824&id=0f5c6c30a0f8c629b92ecdaef61b315c43fde10a
>
> I was on that thread. It was broken before entirely. As for the single
> interrupt on this chip variant - believe it or not, I'm not huge on
> lots of different interrupts for everything. I'd like it if we had
> more than an rx or tx interrupt
> in general, I'd love it if we had a programmable "tx is almost done"
> interrupt that you could tune to the
> interrupt latency... and it's complicated and costs wires to have lots
> of different interrupt types... and (fantasizing again) I'd love it if
> we had a scratchpad or dedicated memory to store interrupt handlers in
> rather than relying on cache....
>
> I'd looked deeply into improving this driver once upon a time, and
> wanted to rip the software gro out of it,
> in particular, and not defer things as much, trying things like NAPI
> of 16 and measuring where time was spent. The copy to memory is
> expensive, and then it defers further work.
>
> Less code, particularly near interrupt time, is better than a lot.
> adding XMIT_MORE to the ar71xx driver (which hurt it badly) is one
> example.
I've been looking a lot at ag71xx. The driver has so much low hanging
fruit. Unfortunately I lack the knowledge to fix most of it.

This patch for example gives me a ~20-30mbps improvement in iperf
tests: https://pastebin.com/ZExWjXQZ

It's kind of unfortunate given how much atheros hardware is out there.
>
> Given something *cool* now landing ( skb list batching, see lwn ) it
> would be worthwhile to revisit this. I don't care if I get more
> interrupts/sec (particularly on a multicore) if we could drain the rx
> ring over smaller intervals...
>
> but that's me, I'm all about the latency. :) Nobody's willing to rip
> the latency out of stuff, they'd rather add features. It's really hard
> to correctly measure interrupt latency regardless.
>
>
> > >
> > > I have talked to people who say the drivers are being worked on though...
> > > If you have input, Kaloz is probably a great person to take that input. I
> > > know other people working on Marvell drivers as well.
> > >
> > > --
> > > Mikael Abrahamsson    email: swmike at swm.pp.se
> > > _______________________________________________
> > > Bloat mailing list
> > > Bloat at lists.bufferbloat.net
> > > https://lists.bufferbloat.net/listinfo/bloat
>
>
>
> --
>
> Dave Täht
> CEO, TekLibre, LLC
> http://www.teklibre.com
> Tel: 1-669-226-2619


More information about the Bloat mailing list