Messages in this thread | | | Subject | Re: [PATCH 2.6.17-rc1-mm1] sched_domain-handle-kmalloc-failure-fix | From | Dave Hansen <> | Date | Fri, 07 Apr 2006 11:01:33 -0700 |
| |
On Thu, 2006-04-06 at 15:58 -0400, Lee Schermerhorn wrote: > 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.
Wow. I'm incredibly impressed that you tracked that down. I can't believe how horribly unintelligible that code is.
I ran into the same freeze on a 4-node NUMA-Q. Your patch fixed it.
Is there any good reason that sched domains has to roll its own linked lists? Why not use list_heads? Seems like it would avoid crappy problems like this.
-- Dave
- 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/
| |