vserver 2.0-rc4
[linux-2.6.git] / include / asm-generic / tlb.h
index c293149..c9948d4 100644 (file)
@@ -93,7 +93,6 @@ 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);
        tlb_flush_mmu(tlb, start, end);
 
@@ -143,6 +142,14 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
                __pte_free_tlb(tlb, ptep);                      \
        } while (0)
 
+#ifndef __ARCH_HAS_4LEVEL_HACK
+#define pud_free_tlb(tlb, pudp)                                        \
+       do {                                                    \
+               tlb->need_flush = 1;                            \
+               __pud_free_tlb(tlb, pudp);                      \
+       } while (0)
+#endif
+
 #define pmd_free_tlb(tlb, pmdp)                                        \
        do {                                                    \
                tlb->need_flush = 1;                            \