[RFC 11/12] module: use list_add_tail_rcu() when adding module

From: Luis Chamberlain
Date: Sat Mar 11 2023 - 00:18:42 EST


Put a new module at the end of the list intead of making
new modules at the top of the list. find_module_all() start
the hunt using the first entry on the list, if we assume
that the modules which are first loaded are the most
frequently looked for modules this should provide a tiny
optimization.

This is theoretical, and could use more actual data by analzying
the impact of this patch on boot time a slew of systems using
systemd-analyze.

Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
---
kernel/module/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/module/main.c b/kernel/module/main.c
index 909454f9616e..bc9202b60d55 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -2608,7 +2608,7 @@ static int add_unformed_module(struct module *mod)
goto out;

mod_update_bounds(mod);
- list_add_rcu(&mod->list, &modules);
+ list_add_tail_rcu(&mod->list, &modules);
mod_tree_insert(mod);
err = 0;

--
2.39.1