On Monday 18 February 2008, Andrew Morton wrote: > Russell, Ralf: is there something we can do here to relax this requirement? > > I'm thinking that perhaps we can do some rcu/refcounting tricks: launch the > IPI from within dma_free_coherent(), but don't wait for it to complete. > When all CPUs have handled the IPI then (and only then) the virtual address > becomes recyclable, or something like that? Or the trick some drivers had to do: just defer the actual work of dma_free_coherent() into a tasklet. Better have one such tasklet in arch code than N of them in drivers. To be clear: I never thought that API restriction was a good idea. (Although this discussion now seems moot for the gdth driver.) > <double-checks> > > Actually I think David might have been wrong about mips. afaict its > dma_free_coherent() is callable under local_irq_disable(), so ARM SMP is > the sole exception? All I recall at this point was getting some arch-specific patches in that area; I thought it was MIPS, maybe it was PPC. The arch code may have changed since then too. - Dave - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html