]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-06-optimize-cpumask-in-sched_c.patch
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / x86_sgi_cpus4096-06-optimize-cpumask-in-sched_c.patch
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