> Actually, I think that we really must have each of the tables start at > ICM-page aligned addresses. I think this happened to work fine so far > as profile was hard-coded, but with new module option code > this might not be the case anymore.
Yes, this is a good point. However... > + if (mthca_is_memfree(mdev)) > + profile[i].start = ALIGN(profile[i].start, > + > max(MTHCA_ICM_PAGE_SIZE, > + > dma_get_cache_alignment())); where is the requirement that tables are ICM-page-size-aligned coming from? I thought the only requirement was that each table was aligned to its size? Also this fails to take into account the gap that might be left when changing the start of a table in the total_size variable. And anyway, this is all moot I believe because the code already does: for (i = 0; i < MTHCA_RES_NUM; ++i) { profile[i].type = i; profile[i].log_num = max(ffs(profile[i].num) - 1, 0); profile[i].size *= profile[i].num; if (mthca_is_memfree(dev)) profile[i].size = max(profile[i].size, (u64) PAGE_SIZE); } and I'm comfortable assuming that there is no architecture where dma_get_cache_alignment() is bigger than PAGE_SIZE... - R. _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general