Hi On Sat, Sep 3, 2011 at 2:32 AM, Ohad Ben-Cohen <ohad@xxxxxxxxxx> wrote: > When mapping a memory region, split it to page sizes as supported > by the iommu hardware. Always prefer bigger pages, when possible, > in order to reduce the TLB pressure. > True. It is important for the peripheral devices that works with IOMMU. > This allows a more lenient granularity of mappings: traditionally the > IOMMU API took 'order' (of a page) as a mapping size, and directly let > the low level iommu drivers handle the mapping. Now that the IOMMU > core can split arbitrary memory regions into pages, we can remove this > limitation, so users don't have to split those regions by themselves. > Please find the following link that I submitted for our IOMMU. https://lkml.org/lkml/2011/7/3/152 s5p_iommu_map/unmap accepts any order of physical address and iova without support of your suggestion if the order is not less than PAGE_SHIFT Of course, an IO virtual memory manager must be careful when it allocates IO virtual memory to lead best performance. But I think IOMMU API must not expect that the caller of iommu_map() knows about the restriction of IOMMU API implementation. Regards, Cho KyongHo. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html