Paul Mackerras <pau...@ozlabs.org> writes: > On Tue, Dec 01, 2015 at 09:06:45AM +0530, Aneesh Kumar K.V wrote: >> This free up 11 bits in pte_t. In the later patch we also change >> the pte_t format so that we can start supporting migration pte >> at pmd level. We now track 4k subpage valid bit as below >> >> If we have _PAGE_COMBO set, we override the _PAGE_F_GIX_SHIFT >> and _PAGE_F_SECOND. Together we have 4 bits, each of them >> used to indicate whether any of the 4 4k subpage in that group >> is valid. ie, >> >> [ group 1 bit ] [ group 2 bit ] ..... [ group 4 ] >> [ subpage 1 - 4] [ subpage 5- 8] ..... [ subpage 13 - 16] >> >> We still track each 4k subpage slot number and secondary hash >> information in the second half of pgtable_t. Removing the subpage >> tracking have some significant overhead on aim9 and ebizzy benchmark and >> to support THP with 4K subpage, we do need a pgtable_t of 4096 bytes. > > I know this has already been applied, but this hunk looks wrong: > >> @@ -102,7 +131,7 @@ int __hash_page_4K(unsigned long ea, unsigned long >> access, unsigned long vsid, >> */ >> if (!(old_pte & _PAGE_COMBO)) { >> flush_hash_page(vpn, rpte, MMU_PAGE_64K, ssize, flags); >> - old_pte &= ~_PAGE_HPTE_SUB; >> + old_pte &= ~_PAGE_HASHPTE | _PAGE_F_GIX | _PAGE_F_SECOND; > > Shouldn't this be: > > + old_pte &= ~(_PAGE_HASHPTE | _PAGE_F_GIX | _PAGE_F_SECOND); > > instead?
Thanks for checking this closely. Yes it should be what you suggested. I will do a patch for this. -aneesh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev