Re: [PATCH 2/6] dmaengine: rcar-dmac: Fix spinlock issues in interrupt

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

 



On 01/27/2015 09:55 PM, Laurent Pinchart wrote:

On 01/27/2015 08:25 PM, Laurent Pinchart wrote:

[...]

Furthermore, as the driver can be used on SMP systems, the IRQ handlers
must use spin_lock_irqsave() instead of spin_lock().

Hmm, care to explain why? It's the first time I'm hearing that...
This looks especially strange in the context of the current genirq code
calling IRQ handlers with interrupts always disabled.

I should have been more precise here.

The DMAC has several interrupt sources than can occur simultaneously. While
genirq should guarantee that an interrupt will not be preempted by another
interrupt (including itself) on the same CPU, does it offer that guarantee
across CPUs in an SMP system ?

No. But spin_lock_irqsave() wouldn't help with that -- it only disables interrupts on the local CPU...

Signed-off-by: Laurent Pinchart
<laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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 PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux