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? Paul. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev