On 12 April 2017 at 18:12, Doug Anderson <dianders@xxxxxxxxxx> wrote: > Shawn > > On Tue, Apr 11, 2017 at 5:54 PM, Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> wrote: >>> This doesn't surprise me at all. What surprises me, though, is that >>> nobody else seems to be able to reproduce this. >>> >>> On veyron, WiFi is connected via SDIO. For good speed, it uses SDIO >>> Interrupts. See this bit in the device tree: >>> >>> cap-sdio-irq; >>> >> >> all of *my* boards are using side-band interrupt, so there are no >> "cap-sdio-irq". > > They are all using side-band interrupt? What WiFi device do you have connected? > > If you're truly using a side-band interrupt using the dedicated SDIO > interrupt pin on your SoC, I'm pretty sure you still need to define > cap-sdio-irq in order for things to work properly. If you don't do > that, you'll get "polling mode" for SDIO Interrupts. See > sdio_irq_thread() where you can see that the kernel will poll your > device every 10 ms if MMC_CAP_SDIO_IRQ isn't set. In these cases I would expect the WIFI driver to deal with the SDIO IRQ itself and not requesting it via calling sdio_claim_irq(). Because of this, there should be no polling performed by the sdio_irq_thread. > > Maybe you should try defining cap-sdio-irq and see if you get a big > performance boost? No, that seems like a bad idea. I think it would rather add overhead - decreasing performance. Likely it will also make us wake up the mmc host from its low power state, when when it actually isn't needed. Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html