[PATCH] DMA: extend documentation to provide more API details

Guennadi Liakhovetski g.liakhovetski at gmx.de
Mon Oct 7 08:17:40 EDT 2013


On Mon, 7 Oct 2013, Vinod Koul wrote:

> On Mon, Oct 07, 2013 at 12:45:33PM +0200, Guennadi Liakhovetski wrote:
> > On Sun, 6 Oct 2013, Vinod Koul wrote:
> > > > > Do you see any problems using, say, a threaded interrupt handler, apart 
> > > > > from possible performance issues? That seems to be pretty convenient. 
> > > > > Otherwise we should really mandate somewhere, that bottom half processing 
> > > > > should take place in a tasklet?
> > > > 
> > > > The documentation has always stated that callbacks will be made from
> > > > tasklet context.  The problem with allowing different contexts from
> > > > different drivers is taht spinlocking becomes problematical.  Remember
> > > > that we have _bh() variants which lock against tasklets but allow IRQs.
> > 
> > Vinod, Dan, what do you think about the bottom half interrupt processing? 
> > Do we want to make the use of a tasklet compulsory or can we also allow 
> > other contexts?
> I dont see any advantage of using threaded handler as compared to tasklet, As
> Russell pointed out its going to make locking and common handling very
> complicated to be invoked from different contexts. What will be benefit from
> this?

I think using a (devm_)request_threaded_irq() and returning 
IRQ_WAKE_THREAD in the ISR is prettier and easier than maintaining an 
additional tasklet. BTW, shdma-base.c already does that.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/



More information about the linux-arm-kernel mailing list