android_system_core/rootdir
Jiyong Park 407b000fe4 apexd is started much earlier to create loopback devices
This change fixes the problem that apexd is delaying the entire boot
sequence while waiting for the loopback devices to be created. The delay
was as big as 50 ms per a loopback device.

With this change, apexd is started much earlier: from "on post-fs-data"
to "on init". When it is first started, it scans /system/apex to
determine the number of APEXes and creates that number of loopback
devices priori. Since then it enters into the binder loop.

When the data partition is mounted, init lets apexd to initiate the
apexd boot sequence where APEXes in /data is scanned, verified, and
activated. Since the creation of the loopback devices were requested far
before, it is very likely that dev nodes for the devices are ready at
this moment (even if not, this isn't a lose).

Bug: 123404717
Bug: 123772265
Test: compare boot times.
init_zygote_START_TIME_avg is improved from 2831ms to 2622ms on blueline
Change-Id: I12450cee44aa4d17a11def62261c2f82d3f2c718
2019-02-09 14:42:38 +09:00
..
etc Merge "Fix asan paths in ld.config" 2019-02-05 16:28:05 +00:00
Android.mk rootdir: Add cgroups and task profiles description files 2019-02-02 21:28:05 -08:00
asan.options Include asan options from data partition. 2017-08-09 15:32:23 -07:00
asan_extract.rc Asan_extract: Use sys.powerctl 2017-04-19 18:32:27 -07:00
asan_extract.sh Asan_extract: Use sys.powerctl 2017-04-19 18:32:27 -07:00
cgroups.json libprocessgroup: Fix file mode parsing that requires octal values 2019-02-06 21:01:41 +00:00
init-debug.rc init-debug.rc: don't mount debugfs 2017-03-14 21:56:24 -07:00
init.environ.rc.in Add ANDROID_RUNTIME_ROOT environment variable 2018-11-29 16:13:21 +00:00
init.rc apexd is started much earlier to create loopback devices 2019-02-09 14:42:38 +09:00
init.usb.configfs.rc Remove sys.usb.ffs.mtp.ready property 2018-03-22 11:35:20 -07:00
init.usb.rc emulator: not start adbd upon ro.kernel.qemu=1 2018-02-03 17:22:15 -08:00
init.zygote32.rc Added a new socket to Zygote init scripts. 2019-01-23 13:37:27 -08:00
init.zygote32_64.rc Added a new socket to Zygote init scripts. 2019-01-23 13:37:27 -08:00
init.zygote64.rc Added a new socket to Zygote init scripts. 2019-01-23 13:37:27 -08:00
init.zygote64_32.rc Added a new socket to Zygote init scripts. 2019-01-23 13:37:27 -08:00
ld_config_backward_compatibility_check.py Restore "Check if current ld.config.txt files is backward compatible" 2018-09-11 09:45:09 +09:00
OWNERS rootdir: add ccross to OWNERS. 2018-10-15 14:18:04 -07:00
task_profiles.json rootdir: Add cgroups and task profiles description files 2019-02-02 21:28:05 -08:00
ueventd.rc ueventd.rc: Move device-specific entries to /vendor/ueventd.rc. 2019-01-06 16:15:07 -08:00
update_and_install_ld_config.mk Remove product_services rules if it's merged away 2019-02-05 12:27:43 +00:00