X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ia64%2Ftlb.h;h=6a9cb3baf2bbc9a4194c03cccc8f2b10d14c2f03;hb=8e8ece46a861c84343256819eaec77e608ff9217;hp=5d714b2061ed6b14d39bc8cc475d43df4859bcdd;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/include/asm-ia64/tlb.h b/include/asm-ia64/tlb.h index 5d714b206..6a9cb3baf 100644 --- a/include/asm-ia64/tlb.h +++ b/include/asm-ia64/tlb.h @@ -39,11 +39,14 @@ */ #include #include +#include #include +#include #include #include #include +#include #ifdef CONFIG_SMP # define FREE_PTE_NR 2048 @@ -163,7 +166,7 @@ tlb_finish_mmu (struct mmu_gather *tlb, unsigned long start, unsigned long end) if (rss < freed) freed = rss; - mm->rss = rss - freed; + vx_rsspages_sub(mm, freed); /* * Note: tlb->nr may be 0 at this point, so we can't rely on tlb->start_addr and * tlb->end_addr. @@ -211,6 +214,8 @@ __tlb_remove_tlb_entry (struct mmu_gather *tlb, pte_t *ptep, unsigned long addre tlb->end_addr = address + PAGE_SIZE; } +#define tlb_migrate_finish(mm) platform_tlb_migrate_finish(mm) + #define tlb_start_vma(tlb, vma) do { } while (0) #define tlb_end_vma(tlb, vma) do { } while (0) @@ -232,4 +237,10 @@ do { \ __pmd_free_tlb(tlb, ptep); \ } while (0) +#define pud_free_tlb(tlb, pudp) \ +do { \ + tlb->need_flush = 1; \ + __pud_free_tlb(tlb, pudp); \ +} while (0) + #endif /* _ASM_IA64_TLB_H */