diff options
author | Andi Kleen <ak@suse.de> | 2006-03-25 10:31:10 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 12:10:56 -0500 |
commit | 267b48014a5c0c2ae90b04dad5d95ceb903365a6 (patch) | |
tree | 95f5475b7b7f6e5b4fd023f51fb2fa826d95a754 /include/linux/bootmem.h | |
parent | bd6633476922b7b51227f7f704c2546e763ae5ed (diff) |
[PATCH] x86_64: Try to allocate node memmap near the end of node
This fixes problems with very large nodes (over 128GB) filling up all of
the first 4GB with their mem_map and not leaving enough space for the
swiotlb.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/bootmem.h')
-rw-r--r-- | include/linux/bootmem.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index 993da8cc9706..7155452fb4a8 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -51,6 +51,9 @@ extern void * __init __alloc_bootmem_low_node(pg_data_t *pgdat, | |||
51 | unsigned long size, | 51 | unsigned long size, |
52 | unsigned long align, | 52 | unsigned long align, |
53 | unsigned long goal); | 53 | unsigned long goal); |
54 | extern void * __init __alloc_bootmem_core(struct bootmem_data *bdata, | ||
55 | unsigned long size, unsigned long align, unsigned long goal, | ||
56 | unsigned long limit); | ||
54 | #ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE | 57 | #ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE |
55 | extern void __init reserve_bootmem (unsigned long addr, unsigned long size); | 58 | extern void __init reserve_bootmem (unsigned long addr, unsigned long size); |
56 | #define alloc_bootmem(x) \ | 59 | #define alloc_bootmem(x) \ |