From 187885d34e5b261ebf5966bec7ae8111235f2fa2 Mon Sep 17 00:00:00 2001 From: Mike Travis Date: Tue, 25 Nov 2008 02:35:02 +1030 Subject: [PATCH] --- yaml --- r: 125311 b: refs/heads/master c: ea6f18ed5a1531caf678374f30a0990c9e6742f3 h: refs/heads/master i: 125309: 602c84fcc8ad249563dc8b025809a94b5ad0645c 125307: 2075a49f705e86170282084950dce7fed7dd65cb 125303: f7b7a5d0c3c5dfa84890a5e8189be9d1f6bbb14f 125295: ef9983674e7609bb7b63bc6c0a2ec873e4444af0 125279: e20991d52988f979506069e9c49720057a397686 125247: 6903fcfca81efaa911380178cd04ef8245c9741b 125183: eed11721a1edf1c9c71ceddf96179b16c153de97 v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index a499a7e8ba0c..2ae1f0ac3d3f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 943f3d030003e1fa5f77647328e805441213bf49 +refs/heads/master: ea6f18ed5a1531caf678374f30a0990c9e6742f3 diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index bb827651558e..dd22cec499b8 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -6110,8 +6110,9 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p) do { /* On same node? */ - mask = node_to_cpumask(cpu_to_node(dead_cpu)); - cpus_and(mask, mask, p->cpus_allowed); + node_to_cpumask_ptr(pnodemask, cpu_to_node(dead_cpu)); + + cpus_and(mask, *pnodemask, p->cpus_allowed); dest_cpu = any_online_cpu(mask); /* On any allowed CPU? */ @@ -7098,9 +7099,9 @@ static int cpu_to_allnodes_group(int cpu, const cpumask_t *cpu_map, struct sched_group **sg, cpumask_t *nodemask) { int group; + node_to_cpumask_ptr(pnodemask, cpu_to_node(cpu)); - *nodemask = node_to_cpumask(cpu_to_node(cpu)); - cpus_and(*nodemask, *nodemask, *cpu_map); + cpus_and(*nodemask, *pnodemask, *cpu_map); group = first_cpu(*nodemask); if (sg) @@ -7150,9 +7151,9 @@ static void free_sched_groups(const cpumask_t *cpu_map, cpumask_t *nodemask) for (i = 0; i < nr_node_ids; i++) { struct sched_group *oldsg, *sg = sched_group_nodes[i]; + node_to_cpumask_ptr(pnodemask, i); - *nodemask = node_to_cpumask(i); - cpus_and(*nodemask, *nodemask, *cpu_map); + cpus_and(*nodemask, *pnodemask, *cpu_map); if (cpus_empty(*nodemask)) continue;