modutils: add FEATURE_INSMOD_TRY_MMAP option
function old new delta
try_to_mmap_module - 121 +121
bb_init_module_24 4514 4578 +64
bb_init_module 119 173 +54
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 239/0) Total: 239 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/modutils/Config.in b/modutils/Config.in
index d2a2e04..83c12b6 100644
--- a/modutils/Config.in
+++ b/modutils/Config.in
@@ -121,6 +121,22 @@
This increases size considerably. Say N unless you plan
to run ancient kernels.
+config FEATURE_INSMOD_TRY_MMAP
+ bool "Try to load module from a mmap'ed area"
+ default n
+ depends on INSMOD || MODPROBE_SMALL
+ help
+ This option causes module loading code to try to mmap
+ module first. If it does not work (for example,
+ it does not work for compressed modules), module will be read
+ (and unpacked if needed) into a memory block allocated by malloc.
+
+ The only case when mmap works but malloc does not is when
+ you are trying to load a big module on a very memory-constrained
+ machine. Malloc will momentarily need 2x as much memory as mmap.
+
+ Choosing N saves about 250 bytes of code (on 32-bit x86).
+
config FEATURE_INSMOD_VERSION_CHECKING
bool "Enable module version checking"
default n