diff options
-rw-r--r-- | arch/x86/mm/numa_64.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index 9736204337b8..dc9516587cf5 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
@@ -768,15 +768,7 @@ static int __init split_nodes_interleave(struct numa_meminfo *ei, | |||
768 | memblock_x86_hole_size(end, physnodes[i].end) < size) | 768 | memblock_x86_hole_size(end, physnodes[i].end) < size) |
769 | end = physnodes[i].end; | 769 | end = physnodes[i].end; |
770 | 770 | ||
771 | /* | 771 | ret = emu_setup_memblk(ei, nid++ % nr_nodes, i, |
772 | * Avoid allocating more nodes than requested, which can | ||
773 | * happen as a result of rounding down each node's size | ||
774 | * to FAKE_NODE_MIN_SIZE. | ||
775 | */ | ||
776 | if (nodes_weight(physnode_mask) + nid >= nr_nodes) | ||
777 | end = physnodes[i].end; | ||
778 | |||
779 | ret = emu_setup_memblk(ei, nid++, i, | ||
780 | physnodes[i].start, | 772 | physnodes[i].start, |
781 | min(end, physnodes[i].end)); | 773 | min(end, physnodes[i].end)); |
782 | if (ret < 0) | 774 | if (ret < 0) |
@@ -873,7 +865,7 @@ static int __init split_nodes_size_interleave(struct numa_meminfo *ei, | |||
873 | memblock_x86_hole_size(end, physnodes[i].end) < size) | 865 | memblock_x86_hole_size(end, physnodes[i].end) < size) |
874 | end = physnodes[i].end; | 866 | end = physnodes[i].end; |
875 | 867 | ||
876 | ret = emu_setup_memblk(ei, nid++, i, | 868 | ret = emu_setup_memblk(ei, nid++ % MAX_NUMNODES, i, |
877 | physnodes[i].start, | 869 | physnodes[i].start, |
878 | min(end, physnodes[i].end)); | 870 | min(end, physnodes[i].end)); |
879 | if (ret < 0) | 871 | if (ret < 0) |