]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Mike Travis <travis@sgi.com> |
2 | Subject: Additional cpumask fixups | |
3 | References: bnc#425240 FATE304266 | |
4 | Patch-mainline: 2.6.28 | |
5 | ||
6 | Signed-off-by: Thomas Renninger <trenn@suse.de> | |
7 | ||
8 | --- | |
9 | kernel/sched.c | 13 +++++++------ | |
10 | 1 file changed, 7 insertions(+), 6 deletions(-) | |
11 | ||
12 | --- a/kernel/sched.c | |
13 | +++ b/kernel/sched.c | |
14 | @@ -6075,8 +6075,9 @@ static void move_task_off_dead_cpu(int d | |
15 | ||
16 | do { | |
17 | /* On same node? */ | |
18 | - mask = node_to_cpumask(cpu_to_node(dead_cpu)); | |
19 | - cpus_and(mask, mask, p->cpus_allowed); | |
20 | + node_to_cpumask_ptr(pnodemask, cpu_to_node(dead_cpu)); | |
21 | + | |
22 | + cpus_and(mask, *pnodemask, p->cpus_allowed); | |
23 | dest_cpu = any_online_cpu(mask); | |
24 | ||
25 | /* On any allowed CPU? */ | |
26 | @@ -7086,9 +7087,9 @@ static int cpu_to_allnodes_group(int cpu | |
27 | struct sched_group **sg, cpumask_t *nodemask) | |
28 | { | |
29 | int group; | |
30 | + node_to_cpumask_ptr(pnodemask, cpu_to_node(cpu)); | |
31 | ||
32 | - *nodemask = node_to_cpumask(cpu_to_node(cpu)); | |
33 | - cpus_and(*nodemask, *nodemask, *cpu_map); | |
34 | + cpus_and(*nodemask, *pnodemask, *cpu_map); | |
35 | group = first_cpu(*nodemask); | |
36 | ||
37 | if (sg) | |
38 | @@ -7138,9 +7139,9 @@ static void free_sched_groups(const cpum | |
39 | ||
40 | for (i = 0; i < nr_node_ids; i++) { | |
41 | struct sched_group *oldsg, *sg = sched_group_nodes[i]; | |
42 | + node_to_cpumask_ptr(pnodemask, i); | |
43 | ||
44 | - *nodemask = node_to_cpumask(i); | |
45 | - cpus_and(*nodemask, *nodemask, *cpu_map); | |
46 | + cpus_and(*nodemask, *pnodemask, *cpu_map); | |
47 | if (cpus_empty(*nodemask)) | |
48 | continue; | |
49 |