diff options
author | Andrey Konovalov <andrey.konovalov@linaro.org> | 2012-08-20 22:55:07 +0400 |
---|---|---|
committer | Andrey Konovalov <andrey.konovalov@linaro.org> | 2012-08-20 22:55:07 +0400 |
commit | 77a51d3f0defd209f74c69f0ffe0893f100d4a07 (patch) | |
tree | 4fd80994685080ab3f34652a3aadcaed67ccb139 | |
parent | 3c5c84298ebcfa702303e51d34f018bc6eec065f (diff) | |
parent | ac20a0e853ca73bb821a85d8492d965e07513ccd (diff) |
Merge branch 'tracking-workaround-ubuntu-sauce' into merge-linux-linaro-core-trackingtracking-llct-ll-20120820.1llct-20120820.1
-rw-r--r-- | include/asm-generic/vmlinux.lds.h | 1 | ||||
-rw-r--r-- | include/linux/init.h | 1 | ||||
-rw-r--r-- | include/linux/kmod.h | 2 | ||||
-rw-r--r-- | init/initramfs.c | 35 | ||||
-rw-r--r-- | init/main.c | 6 | ||||
-rw-r--r-- | kernel/kmod.c | 2 |
6 files changed, 2 insertions, 45 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index b5590e10b3a7..4e2e1cc505ab 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -626,7 +626,6 @@ *(.initcallearly.init) \ INIT_CALLS_LEVEL(0) \ INIT_CALLS_LEVEL(1) \ - INIT_CALLS_LEVEL(earlyrootfs) \ INIT_CALLS_LEVEL(2) \ INIT_CALLS_LEVEL(3) \ INIT_CALLS_LEVEL(4) \ diff --git a/include/linux/init.h b/include/linux/init.h index d8ed250fce30..5e664f671615 100644 --- a/include/linux/init.h +++ b/include/linux/init.h @@ -197,7 +197,6 @@ extern bool initcall_debug; #define core_initcall(fn) __define_initcall("1",fn,1) #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) -#define earlyrootfs_initcall(fn) __define_initcall("earlyrootfs",fn,rootfs) #define postcore_initcall(fn) __define_initcall("2",fn,2) #define postcore_initcall_sync(fn) __define_initcall("2s",fn,2s) #define arch_initcall(fn) __define_initcall("3",fn,3) diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 6f571b1be39e..5398d5807075 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h @@ -71,8 +71,6 @@ call_usermodehelper_fns(char *path, char **argv, char **envp, int wait, int (*init)(struct subprocess_info *info, struct cred *new), void (*cleanup)(struct subprocess_info *), void *data); -void populate_rootfs_wait(void); - static inline int call_usermodehelper(char *path, char **argv, char **envp, int wait) { diff --git a/init/initramfs.c b/init/initramfs.c index a9ea4066e2ef..84c6bf111300 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -18,8 +18,6 @@ #include <linux/dirent.h> #include <linux/syscalls.h> #include <linux/utime.h> -#include <linux/async.h> -#include <linux/export.h> static __initdata char *message; static void __init error(char *x) @@ -581,15 +579,7 @@ static void __init clean_rootfs(void) } #endif -LIST_HEAD(populate_rootfs_domain); - -void populate_rootfs_wait(void) -{ - async_synchronize_full_domain(&populate_rootfs_domain); -} -EXPORT_SYMBOL(populate_rootfs_wait); - -static void __init async_populate_rootfs(void *data, async_cookie_t cookie) +static int __init populate_rootfs(void) { char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size); if (err) @@ -602,7 +592,7 @@ static void __init async_populate_rootfs(void *data, async_cookie_t cookie) initrd_end - initrd_start); if (!err) { free_initrd(); - return; + return 0; } else { clean_rootfs(); unpack_to_rootfs(__initramfs_start, __initramfs_size); @@ -626,27 +616,6 @@ static void __init async_populate_rootfs(void *data, async_cookie_t cookie) free_initrd(); #endif } - return; -} - -static int __initdata rootfs_populated; - -static int __init populate_rootfs_early(void) -{ - if (num_online_cpus() > 1) { - rootfs_populated = 1; - async_schedule_domain(async_populate_rootfs, NULL, - &populate_rootfs_domain); - } - return 0; -} -static int __init populate_rootfs(void) -{ - if (!rootfs_populated) - async_schedule_domain(async_populate_rootfs, NULL, - &populate_rootfs_domain); return 0; } - -earlyrootfs_initcall(populate_rootfs_early); rootfs_initcall(populate_rootfs); diff --git a/init/main.c b/init/main.c index 6d265fc4307f..2173f4c9cbbd 100644 --- a/init/main.c +++ b/init/main.c @@ -892,12 +892,6 @@ static int __init kernel_init(void * unused) (void) sys_dup(0); (void) sys_dup(0); /* - * We need to ensure that the filesystem is ready by this point, wait for - * async_populate_rootfs to complete. - */ - populate_rootfs_wait(); - - /* * check if there is an early userspace init. If yes, let it do all * the work */ diff --git a/kernel/kmod.c b/kernel/kmod.c index c5710b59f438..6f99aead66c6 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -618,8 +618,6 @@ int call_usermodehelper_fns( struct subprocess_info *info; gfp_t gfp_mask = (wait == UMH_NO_WAIT) ? GFP_ATOMIC : GFP_KERNEL; - populate_rootfs_wait(); - info = call_usermodehelper_setup(path, argv, envp, gfp_mask); if (info == NULL) |