On Wed, 27 Jun 2012 18:59:48 +0200 Stephen Warren <swarren@xxxxxxxxxxxxx> wrote: > On 06/27/2012 03:54 AM, Hiroshi DOYU wrote: > > allo_pdir() is called in smmu_iommu_domain_init() with spin_lock > > held. memory allocations in it have to be atomic/unsleepable. > > Presumably this will cause allocation failures in situations with heavy > memory pressure, rather than triggering swapping. Is it normal for IOMMU > drivers to work that way? If so, I'm fine with it. Otherwise, can the > allocations be performed before the spinlock is taken? There are some requirement for atomic allocation from DMA mapping API, but it's not normla for IOMMU, especiall not for iommu_domain_alloc(). It has already used GFP_KERNEL and then, calls ->iommu_domain_init() in it. The update patch v2 follows. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html