Messages in this thread | | | Date | Mon, 31 Jul 2006 09:12:42 +0200 | From | Ingo Molnar <> | Subject | Re: [BUG] sched: big numa dynamic sched domain memory corruption |
| |
* Paul Jackson <pj@sgi.com> wrote:
> @@ -5675,12 +5675,13 @@ void build_sched_domains(const cpumask_t > int group; > struct sched_domain *sd = NULL, *p; > cpumask_t nodemask = node_to_cpumask(cpu_to_node(i)); > + int cpus_per_node = cpus_weight(nodemask); > > cpus_and(nodemask, nodemask, *cpu_map); > > #ifdef CONFIG_NUMA > - if (cpus_weight(*cpu_map) > - > SD_NODES_PER_DOMAIN*cpus_weight(nodemask)) { > + if (cpus_weight(cpu_online_map) > + > SD_NODES_PER_DOMAIN*cpus_per_node) { > if (!sched_group_allnodes) { > sched_group_allnodes > = kmalloc(sizeof(struct sched_group)
even if the bug is not fully understood in time, i think we should queue the patch above for v2.6.18. (with the small nit that you should put the new cpus_per_node variable under CONFIG_NUMA too, to avoid a compiler warning)
Acked-by: Ingo Molnar <mingo@elte.hu>
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |