diff options
author | Paul Jackson <pj@sgi.com> | 2005-08-24 07:15:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-24 12:40:45 -0400 |
commit | 3725822f7c7134249addcd4549aff086950c8090 (patch) | |
tree | d7db18d3d5f75fe4309ddc7aa373f3213f845b41 | |
parent | 40bb0c3ef52d872de348e10000eb5432a43a147d (diff) |
[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>
-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) | |||
645 | int i, j; | 645 | int i, j; |
646 | 646 | ||
647 | for_each_cpu_mask(i, cur->cpus_allowed) { | 647 | for_each_cpu_mask(i, cur->cpus_allowed) { |
648 | for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) { | 648 | cpumask_t mask = node_to_cpumask(cpu_to_node(i)); |
649 | |||
650 | for_each_cpu_mask(j, mask) { | ||
649 | if (!cpu_isset(j, cur->cpus_allowed)) | 651 | if (!cpu_isset(j, cur->cpus_allowed)) |
650 | return; | 652 | return; |
651 | } | 653 | } |