]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
x86: remove quicklists
authorThomas Gleixner <tglx@linutronix.de>
Sun, 9 Mar 2008 12:14:37 +0000 (13:14 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 11 Mar 2008 16:11:55 +0000 (17:11 +0100)
commit985a34bd75cc8c96e43f00dcdda7c3fdb51a3026
tree86418dbb69daebb1d96818318e45fa3e427834f6
parent40f0933d51f4cba26a5c009a26bb230f4514c1b6
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>
arch/x86/Kconfig
arch/x86/mm/pgtable_32.c
include/asm-x86/pgtable_32.h