From 3306a10844326ea0a82f77123c1cb9f1f7c9985e Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Mon, 12 Sep 2005 18:49:24 +0200 Subject: [PATCH] --- yaml --- r: 8603 b: refs/heads/master c: 2b4a08150e0ce2f6eb5d0987fdfe3524ec799313 h: refs/heads/master i: 8601: 967c029d88aef7f87322851be72d36464c9d2b28 8599: b6a9bc442b6cc50282c36e6226cbc48c5038a0ff v: v3 --- [refs] | 2 +- trunk/include/asm-generic/tlb.h | 6 +++++- trunk/include/asm-x86_64/tlbflush.h | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b2daee6210bb..6e9517930e88 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 165aeb82848c81ee1774f8defc74df4341e9184b +refs/heads/master: 2b4a08150e0ce2f6eb5d0987fdfe3524ec799313 diff --git a/trunk/include/asm-generic/tlb.h b/trunk/include/asm-generic/tlb.h index faff403e1061..7d0298347ee7 100644 --- a/trunk/include/asm-generic/tlb.h +++ b/trunk/include/asm-generic/tlb.h @@ -23,7 +23,11 @@ * and page free order so much.. */ #ifdef CONFIG_SMP - #define FREE_PTE_NR 506 + #ifdef ARCH_FREE_PTR_NR + #define FREE_PTR_NR ARCH_FREE_PTR_NR + #else + #define FREE_PTE_NR 506 + #endif #define tlb_fast_mode(tlb) ((tlb)->nr == ~0U) #else #define FREE_PTE_NR 1 diff --git a/trunk/include/asm-x86_64/tlbflush.h b/trunk/include/asm-x86_64/tlbflush.h index 505b0cf906de..4a9c20ea9b10 100644 --- a/trunk/include/asm-x86_64/tlbflush.h +++ b/trunk/include/asm-x86_64/tlbflush.h @@ -109,6 +109,10 @@ static inline void flush_tlb_range(struct vm_area_struct * vma, unsigned long st #define TLBSTATE_OK 1 #define TLBSTATE_LAZY 2 +/* Roughly an IPI every 20MB with 4k pages for freeing page table + ranges. Cost is about 42k of memory for each CPU. */ +#define ARCH_FREE_PTE_NR 5350 + #endif #define flush_tlb_kernel_range(start, end) flush_tlb_all()