Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 53795
b: refs/heads/master
c: 14694d7
h: refs/heads/master
i:
  53793: 6c9c943
  53791: a8b8a23
v: v3
  • Loading branch information
David Rientjes authored and Andi Kleen committed May 2, 2007
1 parent a28a353 commit 7999268
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8b8ca80e192b10eecc01fc44a2902510af86f73b
refs/heads/master: 14694d736bb66d0ec250d05c81c6e98a19c229c6
4 changes: 3 additions & 1 deletion trunk/Documentation/x86_64/boot-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,9 @@ NUMA
depending on the sizes and coefficients listed. For example:
numa=fake=2*512,1024,4*256
gives two 512M nodes, a 1024M node, and four 256M nodes. The
remaining system RAM is allocated to an additional node.
remaining system RAM is allocated to an additional node. If
the last character of CMDLINE is a *, the remaining system RAM
is instead divided up equally among its coefficient.

numa=hotadd=percent
Only allow hotadd memory to preallocate page structures upto
Expand Down
22 changes: 18 additions & 4 deletions trunk/arch/x86_64/mm/numa.c
Original file line number Diff line number Diff line change
Expand Up @@ -418,11 +418,25 @@ static int __init numa_emulation(unsigned long start_pfn, unsigned long end_pfn)
done:
if (!num_nodes)
return -1;
/* Fill remainder of system RAM with a final node, if appropriate. */
/* Fill remainder of system RAM, if appropriate. */
if (addr < max_addr) {
setup_node_range(num_nodes, nodes, &addr, max_addr - addr,
max_addr);
num_nodes++;
switch (*(cmdline - 1)) {
case '*':
/* Split remaining nodes into coeff chunks */
if (coeff <= 0)
break;
num_nodes += split_nodes_equally(nodes, &addr, max_addr,
num_nodes, coeff);
break;
case ',':
/* Do not allocate remaining system RAM */
break;
default:
/* Give one final node */
setup_node_range(num_nodes, nodes, &addr,
max_addr - addr, max_addr);
num_nodes++;
}
}
out:
memnode_shift = compute_hash_shift(nodes, num_nodes);
Expand Down

0 comments on commit 7999268

Please sign in to comment.