From: Sung-hun Kim Date: Thu, 30 Mar 2023 07:30:56 +0000 (+0900) Subject: Parallelize undependent jobs X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Fsandbox%2Fsebuns2%2Finit_parallelize;p=platform%2Fcore%2Fsystem%2Finitrd.git Parallelize undependent jobs Signed-off-by: Sung-hun Kim --- diff --git a/scripts/init.sh b/scripts/init.sh index 8de23f9..e75d156 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -241,12 +241,35 @@ function process_datafs() /bin/mount $DATAFS $DATAFS_MNT } +function load_kernel_modules +{ + echo "Load kernel modules" + + # module conf file doest not exist + config_cnt=$(/bin/find $MODULES_MNT/modules-load.d -name "*.conf" 2> /dev/null | /bin/wc -l) + if [ $config_cnt = 0 ]; then return; fi + + for conf in $MODULES_MNT/modules-load.d/*.conf + do + echo "Read module conf: $conf" + while read module + do + module=$(echo "$module" | /bin/xargs) # trim white space + if [ "$module" = "" ]; then continue; fi # skip blank line + if [ "${module:0:1}" = "#" ]; then continue; fi # skip # commented line + + echo "Loading module: $module" + /sbin/modprobe --dirname=$ROOTFS_MNT --config=${ROOTFS_MNT}/lib/modules/modprobe.d $module & + done < $conf + done +} function process_modulesfs { if [ x$MODULES = "x" ]; then return; fi /bin/mount -o ro $MODULES $MODULES_MNT + load_kernel_modules } @@ -301,32 +324,6 @@ function write_resized_flag() } -function load_kernel_modules -{ - echo "Load kernel modules" - - # module conf file doest not exist - config_cnt=$(/bin/find $MODULES_MNT/modules-load.d -name "*.conf" 2> /dev/null | /bin/wc -l) - if [ $config_cnt = 0 ]; then return; fi - - for conf in $MODULES_MNT/modules-load.d/*.conf - do - echo "Read module conf: $conf" - while read module - do - module=$(echo "$module" | /bin/xargs) # trim white space - if [ "$module" = "" ]; then continue; fi # skip blank line - if [ "${module:0:1}" = "#" ]; then continue; fi # skip # commented line - - echo "Loading module: $module" - /sbin/modprobe --dirname=$ROOTFS_MNT --config=${ROOTFS_MNT}/lib/modules/modprobe.d $module & - done < $conf - done - - wait # wait all background jobs -} - - function pivot_root() { if [ "$IN_INITRD" = "1" ] @@ -384,13 +381,14 @@ find_partitions check_flags process_rootfs -process_datafs -process_modulesfs -process_halfs -process_userfs +process_datafs & +process_modulesfs & +process_halfs & +process_userfs & + write_resized_flag -load_kernel_modules +wait # wait for all background jobs pivot_root change_root $@