Hi! insmod is failing on machine with 16Mb memory, while it works fine if the memory is 32Mb. This happens when insmod tries to malloc memory for module and module is big, in my case around 3Mb. Is there any reason why mmap method is removed from insmod? Why can't we add a flag CONFIG_FEATURE_INSMOD_SMALLMEM and use mmap if this one is set, and still use malloc if not?
Implemented as FEATURE_INSMOD_TRY_MMAP: 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). Will be in 1.16.x