![]() | |||||||||||||
Messages in this thread |
Andi Kleen wrote: > On Thursday 02 March 2006 13:16, Jeff Garzik wrote: > > >>>Yes I've been thinking about adding a new sleeping interface to the IOMMU >>>that would block for new space to handle this. If I did that - would >>>libata be able to use it? >> >>No :( We map inside a spin_lock_irqsave. > > > Would it be easily possible to change that or is it difficult? > > Also with the blocking interface there might be possible deadlock issues > because it will be essentially similar to allocating memory during IO. > But I think it's probably safe. The SCSI layer submits stuff to libata inside spin_lock_irqsave(), and from there we DMA-map and send straight to hardware. So, changing the hot path to permit sleeping would be difficult and add needless complexity, IMO. I would rather pay the penalty of resubmitting if the map-inside-spinlock fails, than to slow down the hot path. Jeff - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-03-02 12:36 [from the cache] ©2003-2008 | |||||||||||||