[PATCH 8/8] fsldma: major cleanups and fixes

Dan Williams dan.j.williams at intel.com
Wed Feb 3 08:02:44 EST 2010


Ira W. Snyder wrote:
> Fix locking. Use two queues in the driver, one for pending transacions, and
> one for transactions which are actually running on the hardware. Call
> dma_run_dependencies() on descriptor cleanup so that the async_tx API works
> correctly.

I notice that fsldma diverges from other dma drivers in that the 
callback is performed with interrupts disabled.  MD/raid5 currently 
assumes that interrupts are enabled in its callback routines (see 
ops_complete_biofill()'s use of spin_lock_irq()).  On top of these 
changes can we align fsldma to the other raid offload drivers (mv_xor, 
iop-adma, ioatdma) and provide callbacks with irq's enabled?

I'll proceed with applying these patches as they obviously improve 
things, but you will hit the irq problem when performing reads to a 
degraded array.

--
Dan


More information about the Linuxppc-dev mailing list