diff options
-rw-r--r-- | include/asm-generic/tlb.h | 6 | ||||
-rw-r--r-- | include/asm-x86_64/tlbflush.h | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index faff403e1061..7d0298347ee7 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
@@ -23,7 +23,11 @@ | |||
23 | * and page free order so much.. | 23 | * and page free order so much.. |
24 | */ | 24 | */ |
25 | #ifdef CONFIG_SMP | 25 | #ifdef CONFIG_SMP |
26 | #define FREE_PTE_NR 506 | 26 | #ifdef ARCH_FREE_PTR_NR |
27 | #define FREE_PTR_NR ARCH_FREE_PTR_NR | ||
28 | #else | ||
29 | #define FREE_PTE_NR 506 | ||
30 | #endif | ||
27 | #define tlb_fast_mode(tlb) ((tlb)->nr == ~0U) | 31 | #define tlb_fast_mode(tlb) ((tlb)->nr == ~0U) |
28 | #else | 32 | #else |
29 | #define FREE_PTE_NR 1 | 33 | #define FREE_PTE_NR 1 |
diff --git a/include/asm-x86_64/tlbflush.h b/include/asm-x86_64/tlbflush.h index 505b0cf906de..4a9c20ea9b10 100644 --- a/include/asm-x86_64/tlbflush.h +++ b/include/asm-x86_64/tlbflush.h | |||
@@ -109,6 +109,10 @@ static inline void flush_tlb_range(struct vm_area_struct * vma, unsigned long st | |||
109 | #define TLBSTATE_OK 1 | 109 | #define TLBSTATE_OK 1 |
110 | #define TLBSTATE_LAZY 2 | 110 | #define TLBSTATE_LAZY 2 |
111 | 111 | ||
112 | /* Roughly an IPI every 20MB with 4k pages for freeing page table | ||
113 | ranges. Cost is about 42k of memory for each CPU. */ | ||
114 | #define ARCH_FREE_PTE_NR 5350 | ||
115 | |||
112 | #endif | 116 | #endif |
113 | 117 | ||
114 | #define flush_tlb_kernel_range(start, end) flush_tlb_all() | 118 | #define flush_tlb_kernel_range(start, end) flush_tlb_all() |