Paul Mackerras <pau...@samba.org> writes: > On Mon, Apr 22, 2013 at 03:30:39PM +0530, Aneesh Kumar K.V wrote: > >> Instead of storing shift value in hugepd pointer we use mmu_psize_def index >> so that we can fit all the supported hugepage size in 4 bits > > That works, but does mean that we have to scan the mmu_psize_defs[] > array to work out the encoding for a particular page size.
We do the scan only when allocating hugepgd. While walking it is only mmu_psize_defs dereference. Yes, that could possibly have a performance impact, but having a well defined way to map page shift to a smaller index and using the same method all the place is nice. I will try to measure the impact and switch to the below method if needed. > Instead, > we could use the fact that all large page sizes are powers of 4, as > are all supported page sizes on embedded processors. So we could > encode using page_code = (page_order - 12) / 2, where page_order is > the log base 2 of the page size, and that lets us represent all power > of 4 page sizes between 2^12 (4kB) and 2^42 bytes (4TB). I guess i can add this as an addon patch on the top of the series if the current patch series is going in to Benh's tree ? -aneesh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev