]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] x86_64: Tell VM about holes in nodes
authorAndi Kleen <ak@suse.de>
Sat, 27 Aug 2005 01:34:10 +0000 (18:34 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 27 Aug 2005 02:37:12 +0000 (19:37 -0700)
commit1300d2a754da0abf751e119bd49629dc99d5ca13
treec75562513489f62c8dcfd41acd467bca3d3202cc
parentbfd5c41db9ee0f063a635f508a9f3281c4cd7dfc
[PATCH] x86_64: Tell VM about holes in nodes

Some nodes can have large holes on x86-64.

This fixes problems with the VM allowing too many dirty pages because it
overestimates the number of available RAM in a node.  In extreme cases you
can end up with all RAM filled with dirty pages which can lead to deadlocks
and other nasty behaviour.

This patch just tells the VM about the known holes from e820.  Reserved
(like the kernel text or mem_map) is still not taken into account, but that
should be only a few percent error now.

Small detail is that the flat setup uses the NUMA free_area_init_node() now
too because it offers more flexibility.

(akpm: lotsa thanks to Martin for working this problem out)

Cc: Martin Bligh <mbligh@mbligh.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/e820.c
arch/x86_64/mm/init.c
arch/x86_64/mm/numa.c
include/asm-x86_64/e820.h