On 2018年03月05日 23:24, Frank Mori Hess wrote:
On Tuesday, January 9, 2018 6:12:09 PM EST Qi Hou wrote:
> If that, there will be a hidden deadlock. As to irq handler of pl330,
> get pl330->lock first,
> then pch->lock. As to tasklet of PL330, pch->lockfirst, then
> pl330->lock. It have been
> verified when I enabled the kernel lock debug option.
>
> And after tracing the changelogs of the driver of the DMA controller
> PL330, I have to stay back.
> The pair of unlock/lock staffs is there since the original commit. It
> seems that the author
> intent to do things like that.
>
> If it's hard to trace the author's intention, maybe the advised fix
> below could be taken, since
> there is no side effect. And it achieves the same goal as the original
> wants to.
I'd like to see this patch get applied, it seems to have been sitting in the dmaengine patchwork as a RFC for a while now. We've hit this same problem (by using irq affinity to spread the pl330 interrupts across multiple cpus rather than using threadirqs) and the patch fixed it.
Reviewed-by: Frank Mori Hess <fmh6jj@xxxxxxxxx>
Tested-by: Frank Mori Hess <fmh6jj@xxxxxxxxx>
Thanks, I will submit it as a official patch.
// qhou
--
Best regards,
Qi Hou
Phone number: +86-10-8477-8608
Address: Floor 15, Building B, Wangjing Plaza, No.9 Zhong-Huan Nanlu, Chaoyang District
--
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