module: avoid allocation if module is already present and ready After ====== time ./kmod.sh -t 0008 real 0m17.569s user 0m0.108s sys 0m11.200s ---------------------- time ./kmod.sh -t 0009 real 0m43.563s user 0m0.568s sys 0m10.560s ---------------------- Before ======= root@piggy:~# systemd-analyze Startup finished in 2.016s (kernel) + 2.081s (userspace) = 4.098s After ===== root@piggy:~# systemd-analyze Startup finished in 2.041s (kernel) + 2.513s (userspace) = 4.554s Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
diff --git a/kernel/module.c b/kernel/module.c index 5485012..9c7c274 100644 --- a/kernel/module.c +++ b/kernel/module.c
@@ -3392,6 +3392,9 @@ static int early_mod_check(struct load_info *info, int flags, if (err) return err; + if (finished_loading(mod->name)) + return 0; + return 0; }