No description
Find a file
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
adb Merge "adb: "support" O_CLOEXEC in adb_open on Windows." 2019-02-08 06:56:47 +00:00
adf Make libadf, libsync_recovery recovery_available. 2018-08-07 10:53:07 -07:00
base MappedFile and FileMap should support zero-length mappings. 2019-02-06 14:29:35 -08:00
bootstat bootstat: crash when parsing ro.boot.boottime 2019-02-08 19:54:41 +00:00
cpio Switch from dist-for-goals to dist in Android.bp 2018-11-19 23:06:12 -08:00
debuggerd Replace libbacktrace with libunwindstack directly. 2019-01-29 17:57:14 -08:00
demangle Build adbd for recovery 2018-05-24 14:11:11 +09:00
diagnose_usb Build adbd for recovery 2018-05-24 14:11:11 +09:00
fastboot fastboot: Fix "fastboot gsi". 2019-01-29 13:20:36 -08:00
fs_mgr fs_mgr: overlayfs: documentation: update kernel patch details 2019-02-08 11:49:05 -08:00
gatekeeperd Multi-threaded Keystore 2018-11-07 11:39:23 -08:00
healthd libprocessgroup: Add support for task profiles 2019-02-03 16:48:35 +00:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Merge "init: allow services to have no capabilities set" 2019-02-06 23:48:36 +00:00
janitors Initial "janitors" owner group. 2019-01-11 16:33:25 -08:00
libappfuse use epoll_create1(EPOLL_CLOEXEC) 2018-12-17 09:32:23 -08:00
libasyncio Build adbd for recovery 2018-05-24 14:11:11 +09:00
libbacktrace Fix offsets when shared lib split across maps. 2018-12-18 11:22:14 -08:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Convert more modules to Android.bp 2018-10-31 21:53:37 -07:00
libcutils Eliminate the APEX name in fs_config using wildcard 2019-02-09 02:59:17 +09:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Merge "Build both static and shared lib." 2018-09-25 22:29:31 +00:00
libion libion: cleanup logging 2018-03-07 10:56:06 -08:00
libkeyutils Add a tool to add keys to keyring. 2019-01-30 13:08:31 -08:00
liblog Actually add right instant app boilerplate. 2019-01-29 17:12:35 -08:00
libmeminfo Merge "Fix 32-bit dmabuf_dump build" 2019-02-08 09:22:05 +00:00
libmemtrack libmemtrack: Remove libpagemap dependency. 2019-01-21 13:47:27 -08:00
libmemunreachable Validate allocations against mappings 2018-11-29 11:02:56 -08:00
libmetricslogger DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master 2018-12-11 14:46:12 -08:00
libnativebridge Add getExportedNamespace NB callback 2019-02-04 15:06:43 +01:00
libnativeloader Revert^2 "Enable APEX stubs for libnativeloader." 2019-02-07 15:23:49 +00:00
libnetutils Move checksum code from clatd to libnetutils. 2019-01-30 12:33:29 +09:00
libpackagelistparser libpackagelistparser: export profileable_from_shell flag. 2019-01-10 16:24:20 -08:00
libpixelflinger Add support for memfd 2019-02-07 00:40:13 +00:00
libprocessgroup Merge "libprocessgroup: Fix file mode parsing that requires octal values" 2019-02-07 04:54:28 +00:00
libprocinfo Add missing includes. 2018-12-06 10:09:20 -08:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse Convert Android.mk file to Android.bp 2019-01-24 21:16:39 -08:00
libstats Merge "Remove liblog/uio.c and <log/uio.h>" 2019-01-17 17:19:52 +00:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Merge libsync_recovery rules into libsync. 2018-08-07 11:00:50 -07:00
libsystem Freshen libsystem/OWNERS 2019-02-07 10:19:01 -08:00
libsysutils libsysutils can be linked statically 2018-12-06 12:32:49 +09:00
libunwindstack Avoid signed extension of chars for build ids. 2019-01-30 12:09:11 -08:00
libusbhost Merge "Remove urb request size maximum." am: 1cb765c867 am: 1ab6e9d018 2018-02-13 09:02:38 +00:00
libutils MappedFile and FileMap should support zero-length mappings. 2019-02-06 14:29:35 -08:00
libvndksupport bpfmt. 2018-02-16 17:58:14 -08:00
libziparchive zip_archive.cc: add O_CLOEXEC 2018-12-18 12:48:06 -08:00
llkd llkd: do not call sync() 2019-01-10 12:52:35 -08:00
lmkd lmdk: Remove redundant 'if' check 2019-02-04 08:50:10 -08:00
logcat DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for sched_policy users"" 2019-01-25 16:49:18 +00:00
logd Actually add right instant app boilerplate. 2019-01-29 17:12:35 -08:00
logwrapper Build adbd for recovery 2018-05-24 14:11:11 +09:00
mkbootimg Populate header size for boot image header version 2 correctly 2019-01-24 16:48:51 -08:00
property_service Add libc_headers to header_libs for libpropertyinfoparser 2019-01-17 21:18:01 +08:00
qemu_pipe Build adbd for recovery 2018-05-24 14:11:11 +09:00
reboot reboot: only pause indefinitely for non-shutdown operations 2017-09-29 16:29:52 +00:00
rootdir apexd is started much earlier to create loopback devices 2019-02-09 14:42:38 +09:00
run-as run-as: add shared app gid in supplementary groups. 2019-01-10 15:08:22 -08:00
sdcard Reland "Create new mount directory /mnt/runtime/full." 2019-01-19 00:21:10 +00:00
shell_and_utilities install mini-keyctl to /system/bin 2019-01-31 13:48:04 -08:00
storaged Remove liblog's rate limiting 2019-01-16 10:37:14 -08:00
toolbox toolbox: getevent: disable stdout buffering 2019-01-15 16:42:59 +01:00
trusty Merge "trusty: Avoid unnecessary use of static libtrusty" 2019-01-18 21:54:39 +00:00
usbd bpfmt. 2018-02-16 17:58:14 -08:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
CleanSpec.mk Shared libs are supported in recovery mode 2018-06-10 08:32:24 +09:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00
TEST_MAPPING Update fs_mgr tests for new fstab format and add to TEST_MAPPING 2019-01-23 11:28:00 -08:00