summaryrefslogtreecommitdiff
path: root/include/asm-x86/pgtable_32.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-03-09 13:14:37 +0100
committerIngo Molnar <mingo@elte.hu>2008-03-11 17:11:55 +0100
commit985a34bd75cc8c96e43f00dcdda7c3fdb51a3026 (patch)
tree86418dbb69daebb1d96818318e45fa3e427834f6 /include/asm-x86/pgtable_32.h
parent40f0933d51f4cba26a5c009a26bb230f4514c1b6 (diff)
downloadlwn-985a34bd75cc8c96e43f00dcdda7c3fdb51a3026.tar.gz
lwn-985a34bd75cc8c96e43f00dcdda7c3fdb51a3026.zip
x86: remove quicklists
quicklists cause a serious memory leak on 32-bit x86, as documented at: http://bugzilla.kernel.org/show_bug.cgi?id=9991 the reason is that the quicklist pool is a special-purpose cache that grows out of proportion. It is not accounted for anywhere and users have no way to even realize that it's the quicklists that are causing RAM usage spikes. It was supposed to be a relatively small pool, but as demonstrated by KOSAKI Motohiro, they can grow as large as: Quicklists: 1194304 kB given how much trouble this code has caused historically, and given that Andrew objected to its introduction on x86 (years ago), the best option at this point is to remove them. [ any performance benefits of caching constructed pgds should be implemented in a more generic way (possibly within the page allocator), while still allowing constructed pages to be allocated by other workloads. ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/pgtable_32.h')
-rw-r--r--include/asm-x86/pgtable_32.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/include/asm-x86/pgtable_32.h b/include/asm-x86/pgtable_32.h
index a842c7222b1e..4e6a0fca0b47 100644
--- a/include/asm-x86/pgtable_32.h
+++ b/include/asm-x86/pgtable_32.h
@@ -26,10 +26,9 @@ struct mm_struct;
struct vm_area_struct;
extern pgd_t swapper_pg_dir[1024];
-extern struct kmem_cache *pmd_cache;
-void check_pgt_cache(void);
-static inline void pgtable_cache_init(void) {}
+static inline void pgtable_cache_init(void) { }
+static inline void check_pgt_cache(void) { }
void paging_init(void);