Index: linux-2.6.20/kernel/container.c =================================================================== --- linux-2.6.20.orig/kernel/container.c +++ linux-2.6.20/kernel/container.c @@ -1638,6 +1638,7 @@ int container_is_descendant(const struct static void container_init_subsys(struct container_subsys *ss) { int retval; + unsigned long flags; struct list_head *l; printk(KERN_ERR "Initializing container subsys %s\n", ss->name); @@ -1651,7 +1652,7 @@ static void container_init_subsys(struct * pointer to this state - since the subsystem is * newly registered, all tasks and hence all container * groups are in the subsystem's top container. */ - spin_lock_irq(&container_group_lock); + spin_lock_irqsave(&container_group_lock, flags); l = &init_container_group.list; do { struct container_group *cg = @@ -1659,7 +1660,7 @@ static void container_init_subsys(struct cg->subsys[ss->subsys_id] = dummytop->subsys[ss->subsys_id]; l = l->next; } while (l != &init_container_group.list); - spin_unlock_irq(&container_group_lock); + spin_unlock_irqrestore(&container_group_lock, flags); need_forkexit_callback |= ss->fork || ss->exit; Index: linux-2.6.20/init/Kconfig =================================================================== --- linux-2.6.20.orig/init/Kconfig +++ linux-2.6.20/init/Kconfig @@ -239,8 +239,13 @@ config IKCONFIG_PROC through /proc/config.gz. config CONTAINERS - bool - + bool "Container support" + help + This option will let you create and manage process containers, + which can be used to aggregate multiple processes, e.g. for + the purposes of resource tracking. + + Say N if unsure config CPUSETS bool "Cpuset support"