clps711xfb: convert to proc_fops
[safe/jmp/linux-2.6] / include / asm-generic / tlb.h
index 5d352a7..e43f976 100644 (file)
@@ -1,4 +1,4 @@
-/* asm-generic/tlb.h
+/* include/asm-generic/tlb.h
  *
  *     Generic TLB shootdown code
  *
@@ -13,7 +13,6 @@
 #ifndef _ASM_GENERIC__TLB_H
 #define _ASM_GENERIC__TLB_H
 
-#include <linux/config.h>
 #include <linux/swap.h>
 #include <asm/pgalloc.h>
 #include <asm/tlbflush.h>
@@ -42,7 +41,6 @@ struct mmu_gather {
        unsigned int            nr;     /* set to ~0U means fast mode */
        unsigned int            need_flush;/* Really unmapped some ptes? */
        unsigned int            fullmm; /* non-zero means full mm flush */
-       unsigned long           freed;
        struct page *           pages[FREE_PTE_NR];
 };
 
@@ -63,7 +61,6 @@ tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush)
        tlb->nr = num_online_cpus() > 1 ? 0U : ~0U;
 
        tlb->fullmm = full_mm_flush;
-       tlb->freed = 0;
 
        return tlb;
 }
@@ -88,13 +85,6 @@ tlb_flush_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
 static inline void
 tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
 {
-       int freed = tlb->freed;
-       struct mm_struct *mm = tlb->mm;
-       int rss = get_mm_counter(mm, rss);
-
-       if (rss < freed)
-               freed = rss;
-       add_mm_counter(mm, rss, -freed);
        tlb_flush_mmu(tlb, start, end);
 
        /* keep the page table cache within bounds */
@@ -133,24 +123,24 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
                __tlb_remove_tlb_entry(tlb, ptep, address);     \
        } while (0)
 
-#define pte_free_tlb(tlb, ptep)                                        \
+#define pte_free_tlb(tlb, ptep, address)                       \
        do {                                                    \
                tlb->need_flush = 1;                            \
-               __pte_free_tlb(tlb, ptep);                      \
+               __pte_free_tlb(tlb, ptep, address);             \
        } while (0)
 
 #ifndef __ARCH_HAS_4LEVEL_HACK
-#define pud_free_tlb(tlb, pudp)                                        \
+#define pud_free_tlb(tlb, pudp, address)                       \
        do {                                                    \
                tlb->need_flush = 1;                            \
-               __pud_free_tlb(tlb, pudp);                      \
+               __pud_free_tlb(tlb, pudp, address);             \
        } while (0)
 #endif
 
-#define pmd_free_tlb(tlb, pmdp)                                        \
+#define pmd_free_tlb(tlb, pmdp, address)                       \
        do {                                                    \
                tlb->need_flush = 1;                            \
-               __pmd_free_tlb(tlb, pmdp);                      \
+               __pmd_free_tlb(tlb, pmdp, address);             \
        } while (0)
 
 #define tlb_migrate_finish(mm) do {} while (0)