commit | a60c78602d2b6746ad093fc3fd30fcc8980aac55 | [log] [tgz] |
---|---|---|
author | Ethan Yonker <dees_troy@teamw.in> | Thu Feb 25 15:32:06 2016 -0600 |
committer | Dees Troy <dees_troy@teamw.in> | Mon Feb 29 15:22:48 2016 +0100 |
tree | 79db5161ef5e4dc2b589eeabaa3d37f3b60868f2 | |
parent | 9a561dd2b36fb0576047648165bca59ac7894d73 [diff] |
Remove busybox modprobe to fix slow performance for some devices bionic process initialization calls personality (specifically personality-8) personality wants to load a kernel module loading a kernel module calls /sbin/modprobe loading /sbin/modprobe is a bionic process initialization bionic process initialization calls personality personality wants to load a kernel module loading a kernel module calls /sbin/modprobe . . . Before you know it, it takes 0.5 seconds to do anything. Note: modprobe is still technically available, but the symlink has been removed, so you can still call it directly by running busybox modprobe if you like. From what I can tell, this issue only affects 32 bit devices with CONFIG_MODULES=y in the defconfig. The problem can be also patched out of the kernel by commenting or otherwise removing the block of code in kernel/exec_domain.c inside the CONFIG_MODULES ifdef block It is also possible to patch the problem in bionic libc by commenting out or otherwise removing the __initialize_personality in bionic/libc/ bionic/libc_init_common.cpp file. Change-Id: Iebac314616080ac18320d73b087980ac1b98b951
Team Win Recovery Project (TWRP)
You can find a compiling guide here.