2004-03-13 10:24:04

by Anton Blanchard

[permalink] [raw]
Subject: [PATCH] fix NUMA compile with large cpumasks


Hi,

The recent NUMA changes fail to compile with large cpumasks, we need
to use a temporary to get around the type checking.

Anton

---

gr26_work-anton/mm/page_alloc.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletion(-)

diff -puN mm/page_alloc.c~numacompile mm/page_alloc.c
--- gr26_work/mm/page_alloc.c~numacompile 2004-03-13 02:27:10.474086886 -0600
+++ gr26_work-anton/mm/page_alloc.c 2004-03-13 02:28:15.514771414 -0600
@@ -1155,6 +1155,8 @@ static int __init find_next_best_node(in
int best_node = -1;

for (i = 0; i < numnodes; i++) {
+ cpumask_t tmp;
+
/* Start from local node */
n = (node+i)%numnodes;

@@ -1166,7 +1168,8 @@ static int __init find_next_best_node(in
val = node_distance(node, n);

/* Give preference to headless and unused nodes */
- if (!cpus_empty(node_to_cpumask(n)))
+ tmp = node_to_cpumask(n);
+ if (!cpus_empty(tmp))
val += PENALTY_FOR_NODE_WITH_CPUS;

/* Slight preference for less loaded node */

_