From: Lee Schermerhorn 2.6.17-rc1-mm1 hangs during boot on HP rx8620 and dl585 -- both 4 node NUMA platforms. Problem is in build_sched_domains() setting up the sched_group_nodes[] lists, resulting from patch: sched_domain-handle-kmalloc-failure.patch The referenced patch does not propagate the "next" pointer from the head of the list, resulting in a loop between the last 2 groups in the list. This causes a tight loop/hang in init_numa_sched_groups_power() because 'sg->next' never == 'group_head' when you have > 2 nodes. This patch seems to fix the problem. Signed-off-by: Lee Schermerhorn Cc: Srivatsa Vaddagir Cc: Nick Piggin Cc: Ingo Molnar Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton --- kernel/sched.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/sched.c~sched_domain-handle-kmalloc-failure-fix kernel/sched.c --- a/kernel/sched.c~sched_domain-handle-kmalloc-failure-fix +++ a/kernel/sched.c @@ -6089,7 +6089,7 @@ static int build_sched_domains(const cpu } sg->cpu_power = 0; sg->cpumask = tmp; - sg->next = prev; + sg->next = prev->next; cpus_or(covered, covered, tmp); prev->next = sg; prev = sg; _