diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 15 | ||||
-rw-r--r-- | init/do_mounts_initrd.c | 12 |
2 files changed, 23 insertions, 4 deletions
diff --git a/init/Kconfig b/init/Kconfig index c5b354b1409..b9d11a899b8 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -354,6 +354,13 @@ config FAIR_CGROUP_SCHED endchoice +config CGROUP_CPUACCT + bool "Simple CPU accounting cgroup subsystem" + depends on CGROUPS + help + Provides a simple Resource Controller for monitoring the + total CPU consumed by the tasks in a cgroup + config SYSFS_DEPRECATED bool "Create deprecated sysfs files" default y @@ -438,7 +445,7 @@ menuconfig EMBEDDED config UID16 bool "Enable 16-bit UID system calls" if EMBEDDED - depends on ARM || BFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION) + depends on ARM || BLACKFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION) default y help This enables the legacy 16-bit UID syscall wrappers. @@ -651,6 +658,12 @@ endchoice endmenu # General setup +config SLABINFO + bool + depends on PROC_FS + depends on SLAB || SLUB + default y + config RT_MUTEXES boolean select PLIST diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index fd4fc12d262..614241b5200 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -55,12 +55,18 @@ static void __init handle_initrd(void) sys_mount(".", "/", NULL, MS_MOVE, NULL); sys_chroot("."); + /* + * In case that a resume from disk is carried out by linuxrc or one of + * its children, we need to tell the freezer not to wait for us. + */ + current->flags |= PF_FREEZER_SKIP; + pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD); if (pid > 0) - while (pid != sys_wait4(-1, NULL, 0, NULL)) { - try_to_freeze(); + while (pid != sys_wait4(-1, NULL, 0, NULL)) yield(); - } + + current->flags &= ~PF_FREEZER_SKIP; /* move initrd to rootfs' /old */ sys_fchdir(old_fd); |