mmc: core: complete/wait_for_completion performance

Stefan Wahren stefan.wahren at i2se.com
Wed Dec 7 11:23:20 PST 2016


Hi Jörg,

> Jörg Krause <joerg.krause at embedded.rocks> hat am 7. Dezember 2016 um 08:32
> geschrieben:
> 
> 
> Hit Stefan,
> 
> On Sat, 2016-11-26 at 20:10 +0100, Stefan Wahren wrote:
> > Hi Jörg,
> > 
> > > Jörg Krause <joerg.krause at embedded.rocks> hat am 20. November 2016
> > > um 20:10
> > > geschrieben:
> > > 
> > > 
> > > On Sun, 2016-11-20 at 16:44 +0100, Stefan Wahren wrote:
> > > > > Jörg Krause <joerg.krause at embedded.rocks> hat am 20. November
> > > > > 2016
> > > > > um 15:42
> > > > > geschrieben:
> > > > > 
> > > > > 
> > > > > Hi Stefan,
> > > > > 
> > > > > On Sun, 2016-11-20 at 14:28 +0100, Stefan Wahren wrote:
> > > > > > Hi Jörg,
> > > > > > 
> > > > > > > Jörg Krause <joerg.krause at embedded.rocks> hat am 20.
> > > > > > > November
> > > > > > > 2016
> > > > > > > um 13:27
> > > > > > > geschrieben:
> > > > > > > 
> > > > > > > 
> > > > > > > Hi,
> > > > > > > 
> > > > > > > I started the discussion on this mailing list in another
> > > > > > > thread
> > > > > > > [1],
> > > > > > > but I'd like to move it to a new thread, because it might
> > > > > > > be
> > > > > > > mmc
> > > > > > > specific.
> > > > > > > 
> > > > > > > The issue is that I am noticed low wifi network throughput
> > > > > > > on
> > > > > > > an
> > > > > > > i.MX28
> > > > > > > board with the mainline kernel (v4.7.10, about 6 Mbps)
> > > > > > > compared
> > > > > > > to
> > > > > > > the
> > > > > > > vendor kernel (Freescale v2.6.35.3, about 20 Mbps). The
> > > > > > > wifi
> > > > > > > chip
> > > > > > > is
> > > > > > > attached using the SDIO interface.
> > > > > > > 
> > > > > > > I started investigation where the bottleneck in the
> > > > > > > mainline
> > > > > > > kernel might come from. Therefore I checked that the
> > > > > > > configs
> > > > > > > and
> > > > > > > settings for the interfaces and drivers are the same. They
> > > > > > > are.
> > > > > > 
> > > > > > so you're not using the mxs_defconfig settings anymore?
> > > > > 
> > > > > No, I changed the settings.
> > > > > 
> > > > 
> > > > What happens to performance to if you change the following
> > > > settings
> > > > to the same
> > > > like in mxs_defconfig?
> > > > 
> > > > CONFIG_PREEMPT_VOLUNTARY=y
> > > > CONFIG_DEFAULT_IOSCHED="noop"
> > > 
> > > No much change at all. The time difference between complete() and
> > > wait_for_complete() decreases in best case to 110 us, but also
> > > varies
> > > to above 130 us.
> > 
> > just a weird idea. Did you tried to add MMC_CAP_CMD23 into the caps
> > [1]?
> > 
> > [1] - http://lxr.free-electrons.com/source/drivers/mmc/host/mxs-mmc.c
> > ?v=4.8#L642
> 
> I tried, but it did not improved the timing or throughput. However,
> many thanks for the input.
> 
> Jörg

did you try cyclictest [1]?

Beside the time for a request the amount of requests for the complete iperf test
would we interesting. Maybe there are retries.

I'm still interested in your PIO mode patches for mxs-mmc even without clean up.

[1] - https://git.kernel.org/cgit/utils/rt-tests/rt-tests.git/



More information about the linux-arm-kernel mailing list