Low network throughput on i.MX28
Jörg Krause
joerg.krause at embedded.rocks
Wed Nov 2 01:14:49 PDT 2016
On Sat, 2016-10-29 at 11:08 +0200, Stefan Wahren wrote:
> > Jörg Krause <joerg.krause at embedded.rocks> hat am 29. Oktober 2016
> > um 01:07
> > geschrieben:
> >
> >
> > You mentioned [1] an optimization in the Freescale vendor Linux
> > kernel
> > [2]. I would really like to see this optimization in the mainline
> > kernel.
> >
> > Did you ever tried to port this code from Freescale to mainline?
>
> Yes, i tried once but i was frustrated soon because of the lot of
> required
> changes and resulting issues.
I got the PIO mode working for the mxs-mmc driver. For this I ported
the PIO code from the vendor kernel and removed the usage of the DMA
engine entirely.
Testing network bandwidth with iperf, I get about ~10Mbit/sec with PIO
mode compared to ~6.5Mbit/sec with DMA mode for UDP and about
~6.5Mbit/sec compared to ~4.5Mbit/sec with DMA mode for TCP.
Note, that the vendor kernel implements a switch between PIO and DMA
mode for the ADTC command type depending on the data size. For this
test, I removed this switch and used PIO mode solely.
> >
> > Is it even possible, as the mainline driver uses the DMA engine?
>
> I think the more important part would be analyse why the Mainline
> driver is slowlier. I mean to exactly identify the bottleneck.
I will further investigate this issue.
Best regards,
Jörg Krause
More information about the linux-arm-kernel
mailing list