[Bloat] Marvell 385

Rosen Penev rosenp at gmail.com
Sun Aug 26 21:53:54 EDT 2018


On Sun, Aug 26, 2018 at 6:45 PM Dave Taht <dave.taht at gmail.com> wrote:
>
> On Sun, Aug 26, 2018 at 6:33 PM Rosen Penev <rosenp at gmail.com> wrote:
> >
> > On Sun, Aug 26, 2018 at 6:20 PM Dave Taht <dave.taht at gmail.com> wrote:
> > >
> > > On Sun, Aug 26, 2018 at 5:55 PM Rosen Penev <rosenp at gmail.com> wrote:
> > > >
> > > > 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
> > >
> > > cool! that driver as widely used as it is has never had enough eyeballs on it.
> > No. Definitely not enough.
> > >
> > > Have you put that patch in front of the openwrt folk? I note that that
> > > driver didn't
> > > used to live in that part of the tree - have they finally moved over?
> > Yeah I did. Felix rejected it on the grounds that he didn't understand
> > it. So I've just been keeping it in my tree. The patch itself comes
> > from an old SDK by Qualcomm.
>
> Hmm. By eyeball I can't see how it could speed up things that much either. :)
Me and another user's thinking is that it causes fewer cache misses.

I ported one of Felix' patches that he did for ramips where he got rid
of netdev_alloc_frag and was disappointed to find out that performance
dropped by 40mbps. That was fixed just by moving the new struct member
higher.

So yeah. Lots of low hanging fruit.
>
> But I used to be willig to bnchmark. not thi month though
No worries.
> > >
> > >
> > >
> > > >
> > > > 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
> > >
> > >
> > >
> > > --
> > >
> > > Dave Täht
> > > CEO, TekLibre, LLC
> > > http://www.teklibre.com
> > > Tel: 1-669-226-2619
>
>
>
> --
>
> Dave Täht
> CEO, TekLibre, LLC
> http://www.teklibre.com
> Tel: 1-669-226-2619



More information about the Bloat mailing list