]> err.no Git - linux-2.6/blobdiff - arch/powerpc/mm/tlb_64.c
powerpc: support multiple hugepage sizes
[linux-2.6] / arch / powerpc / mm / tlb_64.c
index 69ad829a7fa3bb126c32604ffdf249b67446eb65..409fcc7b63ce410872a2e6a58ca1f95f41bdf9e2 100644 (file)
@@ -37,8 +37,8 @@ DEFINE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch);
  * include/asm-powerpc/tlb.h file -- tgall
  */
 DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
-DEFINE_PER_CPU(struct pte_freelist_batch *, pte_freelist_cur);
-unsigned long pte_freelist_forced_free;
+static DEFINE_PER_CPU(struct pte_freelist_batch *, pte_freelist_cur);
+static unsigned long pte_freelist_forced_free;
 
 struct pte_freelist_batch
 {
@@ -47,9 +47,6 @@ struct pte_freelist_batch
        pgtable_free_t  tables[0];
 };
 
-DEFINE_PER_CPU(struct pte_freelist_batch *, pte_freelist_cur);
-unsigned long pte_freelist_forced_free;
-
 #define PTE_FREELIST_SIZE \
        ((PAGE_SIZE - sizeof(struct pte_freelist_batch)) \
          / sizeof(pgtable_free_t))
@@ -150,7 +147,7 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,
         */
        if (huge) {
 #ifdef CONFIG_HUGETLB_PAGE
-               psize = mmu_huge_psize;
+               psize = get_slice_psize(mm, addr);;
 #else
                BUG();
                psize = pte_pagesize_index(mm, addr, pte); /* shutup gcc */