On Mon, Apr 22, 2013 at 03:30:51PM +0530, Aneesh Kumar K.V wrote: > From: "Aneesh Kumar K.V" <aneesh.ku...@linux.vnet.ibm.com> > > This will be later used by powerpc THP support. In powerpc we want to use > pgtable for storing the hash index values. So instead of adding them to > mm_context list, we would like to store them in the second half of pmd > > Cc: Andrea Arcangeli <aarca...@redhat.com>
*snip* > #ifndef __HAVE_ARCH_PGTABLE_DEPOSIT > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -void pgtable_trans_huge_deposit(struct mm_struct *mm, pgtable_t pgtable) > +void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, > + pgtable_t pgtable) > { > assert_spin_locked(&mm->page_table_lock); > > @@ -141,7 +142,7 @@ void pgtable_trans_huge_deposit(struct mm_struct *mm, > pgtable_t pgtable) > #ifndef __HAVE_ARCH_PGTABLE_WITHDRAW > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > /* no "address" argument so destroys page coloring of some arch */ > -pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm) > +pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) > { > pgtable_t pgtable; This will add micro overhead with more variables put in certain regs or stack. The micro overhead could be optimized away by wrapping the call with a generic and per-arch header and by adding a __ prefix to the above one in the generic .c file. I'm neutral but I pointed out so others are free to comment on it. Reviewed-by: Andrea Arcangeli <aarca...@redhat.com> _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev