]> git.baikalelectronics.ru Git - 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)
commitaa4920e7e7847a5e1d8afd7f96b837b965877805
tree86418dbb69daebb1d96818318e45fa3e427834f6
parent6e0b6a679075c800ea7fcc9f6592876a9a05f0c5
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