diff options
author | Paul Jackson <pj@sgi.com> | 2005-08-24 04:15:10 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-24 09:40:45 -0700 |
commit | 3725822f7c7134249addcd4549aff086950c8090 (patch) | |
tree | d7db18d3d5f75fe4309ddc7aa373f3213f845b41 /kernel | |
parent | 40bb0c3ef52d872de348e10000eb5432a43a147d (diff) | |
download | linux-3725822f7c7134249addcd4549aff086950c8090.tar.gz linux-3725822f7c7134249addcd4549aff086950c8090.tar.bz2 linux-3725822f7c7134249addcd4549aff086950c8090.zip |
[PATCH] cpu_exclusive sched domains build fix
As reported by Paul Mackerras <paulus@samba.org>, the previous patch
"cpu_exclusive sched domains fix" broke the ppc64 build with
CONFIC_CPUSET, yielding error messages:
kernel/cpuset.c: In function 'update_cpu_domains':
kernel/cpuset.c:648: error: invalid lvalue in unary '&'
kernel/cpuset.c:648: error: invalid lvalue in unary '&'
On some arch's, the node_to_cpumask() is a function, returning
a cpumask_t. But the for_each_cpu_mask() requires an lvalue mask.
The following patch fixes this build failure by making a copy
of the cpumask_t on the stack.
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/cpuset.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index e0d296c5b302..d7f4d0c95737 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -645,7 +645,9 @@ static void update_cpu_domains(struct cpuset *cur) int i, j; for_each_cpu_mask(i, cur->cpus_allowed) { - for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) { + cpumask_t mask = node_to_cpumask(cpu_to_node(i)); + + for_each_cpu_mask(j, mask) { if (!cpu_isset(j, cur->cpus_allowed)) return; } |