Messages in this thread Patch in this message | | | Subject | Re: [PATCH 00/11] another rt group sched update | From | Peter Zijlstra <> | Date | Mon, 07 Jan 2008 12:24:20 +0100 |
| |
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 <a.p.zijlstra@chello.nl> ---
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++)
| |