Hi Ohad, On Wed, Sep 7, 2011 at 6:16 PM, Ohad Ben-Cohen <ohad@xxxxxxxxxx> wrote: > Hmm this sounds a bit like a red herring to me; optimization of the :) I agree. sorry. > map function is not the main subject here. Especially not when we're > discussing mapping of large physically contiguous memory regions which > do not happen too often. > I've got your point but I thought that it is really needed. > Another advantage for migrating s5p_iommu_map() over to the subject > patch, is that s5p_iommu_map() doesn't support super sections yet. To > support it, you'd need to add more code (duplicate another while > loop). But if you migrated to the subject patch, then you would only > need to flip the 16MB bit when you advertise page size capabilities > and then that's it; you're done. I did not implement that. 16MB page is less practical in Linux because Linux kernel is unable to allocated larger physically contiguous memory than 4MB by default. But I also think that it is needed to support 16MB mapping for IO virtualization someday and it is just trivial job. And you pointed correctly that s5p_iommu_map() has duplicate similar codes. Actually, I think your idea is good and does not cause performance degradation. But I wondered if it is really useful. > > The caller of iommu_map() doesn't say anything about alignments. It > just gives it a memory region to map, and expect things to just work. > The caller of iommu_map() gives gfp_order that is the size of the physical memory to map. I thought that it also means alignment of the physical memory. Isn't it? Regards, 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