Re: Bug in in spi-bcm53xx (rcu_sched) exposed by 0461a41 ("spi: Pump transfers inside calling context for spi_sync()")

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 10, 2016 at 02:04:21PM +0100, Rafał Miłecki wrote:
> On 10 February 2016 at 13:48, Mark Brown <broonie@xxxxxxxxxx> wrote:

> > It's most likely just hammering the CPU for a very long time without
> > scheduling due to doing a long PIO transfers.  That change just removes
> > some needless context switching.

> The fact is it happens only after flashing firmware, when flash is
> formatted for the first time. After flashing some changes from ramfs
> are likely flushed to the falsh. I guess it matches your theory of
> long time CPU hammering.

I bet you can trigger it with a heavy read load too (especially lots of
reads going on in parallel).  You'll have always been able to trigger
it, it's just that this has made it easier.

> Any idea how to handle this?

Don't busy wait in the driver, ideally implement DMA support.  Add some
sleeps if you really need to.  A PIO driver really isn't fit for purpose
with large transfers like you get on flash.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux