diff options
| -rw-r--r-- | arch/x86/mm/numa.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index cd4785bbacb9..4053bb58bf92 100644 --- a/arch/x86/mm/numa.c +++ b/arch/x86/mm/numa.c | |||
| @@ -482,9 +482,16 @@ static void __init numa_clear_kernel_node_hotplug(void) | |||
| 482 | &memblock.reserved, mb->nid); | 482 | &memblock.reserved, mb->nid); |
| 483 | } | 483 | } |
| 484 | 484 | ||
| 485 | /* Mark all kernel nodes. */ | 485 | /* |
| 486 | * Mark all kernel nodes. | ||
| 487 | * | ||
| 488 | * When booting with mem=nn[kMG] or in a kdump kernel, numa_meminfo | ||
| 489 | * may not include all the memblock.reserved memory ranges because | ||
| 490 | * trim_snb_memory() reserves specific pages for Sandy Bridge graphics. | ||
| 491 | */ | ||
| 486 | for_each_memblock(reserved, r) | 492 | for_each_memblock(reserved, r) |
| 487 | node_set(r->nid, numa_kernel_nodes); | 493 | if (r->nid != MAX_NUMNODES) |
| 494 | node_set(r->nid, numa_kernel_nodes); | ||
| 488 | 495 | ||
| 489 | /* Clear MEMBLOCK_HOTPLUG flag for memory in kernel nodes. */ | 496 | /* Clear MEMBLOCK_HOTPLUG flag for memory in kernel nodes. */ |
| 490 | for (i = 0; i < numa_meminfo.nr_blks; i++) { | 497 | for (i = 0; i < numa_meminfo.nr_blks; i++) { |
