On Mon, 2008-01-07 at 11:51 +0100, Peter Zijlstra wrote: > - I occasionally see a weird lockup on iterating the task_groups list > on smp machines. - I failed to see anything wrong, but hey, this > stack of used brown paper bags is steadily growing.
D'oh --- Don't add a task_group to the task_groups list for each cpu, there is only a single task_group. Signed-off-by: Peter Zijlstra <[EMAIL PROTECTED]> --- Index: linux-2.6/kernel/sched.c =================================================================== --- linux-2.6.orig/kernel/sched.c +++ linux-2.6/kernel/sched.c @@ -7175,6 +7175,10 @@ void __init sched_init(void) init_defrootdomain(); #endif +#ifdef CONFIG_FAIR_GROUP_SCHED + list_add(&init_task_group.list, &task_groups); +#endif + for_each_possible_cpu(i) { struct rq *rq; @@ -7201,8 +7205,6 @@ void __init sched_init(void) init_tg_rt_entry(rq, &init_task_group, &per_cpu(init_rt_rq, i), &per_cpu(init_sched_rt_entity, i), i, 1); - - list_add(&init_task_group.list, &task_groups); #endif for (j = 0; j < CPU_LOAD_IDX_MAX; j++) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/