On Tue, Aug 24, 2010 at 10:30 PM, Guzman Lugo, Fernando <fernando.lugo@xxxxxx> wrote: >> Oh, I actually meant the DMM pool. >> >> a) 1. Migrate to iommu, 2. Remove DMM completely >> b) 1. Remove DMM pool, 2. Migrate to iommu 3. Remove DMM completely > > Ok, what is the issue with DMM pool? >From what I've heard; fragmentation. > The issue I see removing DMM pool in this moment and making all the DMM > Available (from 0x11000000 to 0xFFFFFFFF omap3 case) that is: > > The DMM module allocates a list of "struct map_page" elements base on > DMM_POOL_SIZE to keep track of memory reserved and mapped. > > Memory allocated = DMM_POOL_SIZE / PAGE_SIZE * sizeof(struct map_page); > > So making all memory avalible it will increase the memory used for DMM > Module and it could be quite significant. > > Iovmm.c module, the list is increased dynamically when it is needed so > It does no have that problem. Then when the migration is done and > Iovmm.c module is used the DMM_POOL_SIZE can be removed without issues. It seems that this "memory allocated" you are taking about is an array, but what we would like is a list, like apparently iovmm is using. I think I can give that a try if needed. However, from what I can see iovmm can be used instead of dmm even if the switch to iommu is not yet there. -- Felipe Contreras -- 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