Commit graph

47030 commits

Author SHA1 Message Date
Rajeev Kumar
e7cfa67a05 Read memory stats from /proc/pid/stat file.
(cherry pick from commit 0301683e49)
Bug: 117333340
Test: Manual testing using alloc-stress tool
Merged-In: Ie555933aafa6a6b7aa1dbf5518ebe804376e0afd

Change-Id: I8ab08606dba7de2f65711204453067dbfbdcbdd8
2019-03-05 15:46:07 -08:00
Jim Blackler
b68fe506e0 [automerger skipped] Add start time to LmkKillOccurred
am: 962e0442d1 -s ours
am skip reason: change_id I4ef6433391c8758626334731d2b5de038e4468ae with SHA1 1417cdbddb is in history

Change-Id: I56f76418a5c6a3435dec766d731068f60bd4b642
2019-03-05 15:27:13 -08:00
Rajeev Kumar
9eee2302ee [automerger skipped] Read memory stats from /proc/pid/stat file.
am: 2bc24f88ca -s ours
am skip reason: change_id Ie555933aafa6a6b7aa1dbf5518ebe804376e0afd with SHA1 4dbc24d393 is in history

Change-Id: I5676596b2ee9f7448faa0b0274ac9425c7525fb0
2019-03-05 15:26:28 -08:00
Jim Blackler
962e0442d1 Add start time to LmkKillOccurred
This is to measure an application's behavior with respect to being LMKed
(the longer an app lives before being LMKed, the better).

Bug: 119854389
Test: Manual
Change-Id: I4ef6433391c8758626334731d2b5de038e4468ae
Merged-In: I4ef6433391c8758626334731d2b5de038e4468ae
(cherry picked from I4ef6433391c8758626334731d2b5de038e4468ae)
2019-03-05 11:53:17 -08:00
Rajeev Kumar
2bc24f88ca Read memory stats from /proc/pid/stat file.
(cherry pick from commit 0301683e49)
Bug: 117333340
Test: Manual testing using alloc-stress tool
Merged-In: Ie555933aafa6a6b7aa1dbf5518ebe804376e0afd

Change-Id: I8ab08606dba7de2f65711204453067dbfbdcbdd8
2019-03-05 11:53:14 -08:00
Mark Salyzyn
b6f63c5f1e Merge "fs_mgr: remount: add partition argument list" am: 4c46285e2e
am: 14fea4f7a2

Change-Id: I065001cbfb323245c9513d129f6e2e682a3b93de
2019-03-05 10:24:30 -08:00
Mark Salyzyn
14fea4f7a2 Merge "fs_mgr: remount: add partition argument list"
am: 4c46285e2e

Change-Id: I343332051ac7a99822d940e5e3d69af12d541c0b
2019-03-05 10:20:12 -08:00
Mark Salyzyn
4c46285e2e Merge "fs_mgr: remount: add partition argument list" 2019-03-05 17:49:30 +00:00
Jiyong Park
7e933b1e07 Merge changes from topic "apex_earlymount_base" am: c676cca4f6
am: a192ff7ad3

Change-Id: I5c3603ace0237ce810f820b456a7d3b9b4c113ff
2019-03-04 23:10:28 -08:00
Jiyong Park
5675349df0 mount /apex during first_stage init am: 4ba548d845
am: 854c5bc218

Change-Id: Ib7e3399d826c82874dea21b6e416c937693a5420
2019-03-04 23:09:48 -08:00
Jiyong Park
a192ff7ad3 Merge changes from topic "apex_earlymount_base"
am: c676cca4f6

Change-Id: I417eb7fffbaa2c495b8dc1c1c10e5683ebafcc84
2019-03-04 23:03:13 -08:00
Jiyong Park
854c5bc218 mount /apex during first_stage init
am: 4ba548d845

Change-Id: I2f86489449b0a81c4173981a8ffe1bcb945df129
2019-03-04 23:02:24 -08:00
Treehugger Robot
c676cca4f6 Merge changes from topic "apex_earlymount_base"
* changes:
  Activate system APEXes early
  mount /apex during first_stage init
2019-03-05 06:49:02 +00:00
Jiyong Park
dcbaf9f41b Activate system APEXes early
Summary: Boot sequence around apexd is changed to make it possible for
pre-apexd processes to use libraries from APEXes. They no longer need to
wait for the apexd to finish activating APEXes, which again can be
done only after /data/ is mounted. This improves overall boot
performance.

Detail: This change fixes the problem that processes that are started
before apexd (so called pre-apexd processes) can't access libraries
that are provided only by the APEXes but are not found in the system
partition (e.g. libdexfile_external.so, etc.). Main idea is to activate
system APEXes (/system/apex/*.apex) before /data is mounted and then
activate the updated APEXes (/data/apex/*.apex) after the /data mount.

Detailed boot sequence is as follows.

1) init prepares the bootstrap and default mount namespaces. A tmpfs is
mounted on /apex and the propagation type of the mountpoint is set to
private.

2) before any other process is started, apexd is started in bootstrap
mode. When executed in the mode, apexd only activates APEXes under
/system/apex. Note that APEXes activated in this phase are mounted in
the bootstrap mount namespace only.

3) other pre-apexd processes are started. They are in the bootstrap
mount namespace and thus are provided with the libraries from the system
APEXes.

4) /data is mounted. init switches into the default mount namespace and
starts apexd as a daemon as usual.

5) apexd scans both /data/apex and /system/apex, and activate latest
APEXes from the directories. Note that APEXes activated in this phase
are mounted in the default namespaces only and thus are not visible to
the pre-apexd processes.

Bug: 125549215
Test: m; device boots
Change-Id: I21c60d0ebe188fa4f24d6e6861f85ca204843069
2019-03-05 09:47:49 +09:00
Mark Salyzyn
be17923ece Merge "adb: use /system/bin/remount command" am: d458066bc7
am: bc0887add7

Change-Id: I3f6725ac4cbb181210f1f91b159cd31674f1b690
2019-03-04 14:46:35 -08:00
Mark Salyzyn
bc0887add7 Merge "adb: use /system/bin/remount command"
am: d458066bc7

Change-Id: I0276c6488dd5d57475e6b73cf1fef5a00a2e75b8
2019-03-04 14:41:21 -08:00
Mark Salyzyn
d458066bc7 Merge "adb: use /system/bin/remount command" 2019-03-04 22:27:19 +00:00
Mark Salyzyn
f4e7422c65 fs_mgr: remount: add partition argument list
Can supply a specific partition to remount.  Partitions can be
specified by name or mount point.  Some extra work to differentiate
an unknown partition, invalid partition, or one that is covered by
overlayfs.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: Iab6f51c2b5ebe01f1cea3fb235445d5e2f495365
2019-03-04 11:13:05 -08:00
Mark Salyzyn
2f6c180749 adb: use /system/bin/remount command
Replace direct logic in support for 'adb remount' with an exec out to
/system/bin/remount to do the heavy lifting.  Remount success and
failure strings are reported by the adb remount service in response
to the various reported errors, freeing up the remount command itself
from the legacy of script expectations.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: I686fa465f463b881bbb38f709d780a95e463be80
2019-03-04 11:12:54 -08:00
Felix
7690f38b1b Merge "ld.config: Permit legacy /system/vendor paths" am: 6521bf3c98
am: 7334915cf5

Change-Id: Ib3fb0c3311d66df5e06d2484889211cac97d2f34
2019-03-04 05:11:54 -08:00
Felix
7334915cf5 Merge "ld.config: Permit legacy /system/vendor paths"
am: 6521bf3c98

Change-Id: If01c6a02f530b60167c1d29c5bf3c75befa531c9
2019-03-04 05:07:39 -08:00
Treehugger Robot
6521bf3c98 Merge "ld.config: Permit legacy /system/vendor paths" 2019-03-04 12:58:11 +00:00
Jiyong Park
4ba548d845 mount /apex during first_stage init
/apex is not mounted via init.rc but directly by the first_stage init
before the mount namespaces are configured.

This allows us to change the propagation type for /apex mount point to
private to isolate APEX activatesions across post- and pre-apexd
processes.

Bug: 125549215
Test: m; device boots to the UI

Change-Id: I10e056cd30d64cb702b6c237acd8dab326162884
2019-03-04 16:22:41 +09:00
Felix
9e40e12cea ld.config: Permit legacy /system/vendor paths
Because /vendor is a symlink to /system/vendor on devices without a
dedicated /vendor partition, /system/vendor/lib/* needs to be added to
the permitted paths whereever /vendor/lib/* is permitted.

Reasoning:
Legacy devices are forced to use ld.config.legacy.txt, which is very
permissive. We can prolong support for them and enable them to use the
VNDK if we extend the search paths to include the resolved symlink dirs.

Change-Id: I6b3bb7b86ed82395345a16bdc857353b1b15c704
2019-03-03 14:31:37 +01:00
Petri Gynther
8ab61d6ec7 Merge "toolbox: make "r" available for /vendor" am: bc6372103a
am: 05e32cf544

Change-Id: I4dc11fe9963e6fa1b9395e8dfa6f38ef2d836d5a
2019-03-02 23:34:37 -08:00
Petri Gynther
05e32cf544 Merge "toolbox: make "r" available for /vendor"
am: bc6372103a

Change-Id: Ib55339d168808e2593748efe1aea573a56b3beb5
2019-03-02 23:30:27 -08:00
Petri Gynther
bc6372103a Merge "toolbox: make "r" available for /vendor" 2019-03-03 07:20:04 +00:00
Erick Reyes
7c61624070 Merge "libmeminfo: librank optimization using maps instead of vectors" am: 924eec9518
am: f3a23fe800

Change-Id: Ie4113c99cec59e8f40f23c48f2b19a07126fef66
2019-03-01 20:19:49 -08:00
Erick Reyes
f3a23fe800 Merge "libmeminfo: librank optimization using maps instead of vectors"
am: 924eec9518

Change-Id: Icaff42f16eb4ee6339b27ad2c750ba770be7b2e1
2019-03-01 20:12:42 -08:00
Treehugger Robot
924eec9518 Merge "libmeminfo: librank optimization using maps instead of vectors" 2019-03-02 03:58:28 +00:00
David Anderson
9dfd75813d Merge "Fix double-accounting bug in liblp." am: 42294631a7
am: aaf5d64713

Change-Id: I9e00135d9d20212c79c1d3dc246b31b82421eefe
2019-03-01 19:33:09 -08:00
David Anderson
aaf5d64713 Merge "Fix double-accounting bug in liblp."
am: 42294631a7

Change-Id: Icc511967cbd7ce549256896f25632c741ba1a89b
2019-03-01 19:28:59 -08:00
David Anderson
42294631a7 Merge "Fix double-accounting bug in liblp." 2019-03-02 03:16:10 +00:00
Petri Gynther
7c71e06f8e toolbox: make "r" available for /vendor
Make "r" package available for /vendor, so that we can easily add:

PRODUCT_PACKAGES_DEBUG += r.vendor

in device/google/<device>/device.mk

Change-Id: I46c23a85c95444083b8e4b68961c541d9af9b216
2019-03-01 17:51:56 -08:00
David Anderson
88e36c1514 Fix double-accounting bug in liblp.
When flashing in fastbootd, we create a new MetadataBuilder using the
given super_empty.img and attempt to import the existing partition
table. This will fail if there is some incompatibility in the partition
layout or partition quotas.

This import code was accidentally double-accounting partitions when
determining if they could fit within the group quota, preventing
"fastboot flashall" once partitions reached a certain size.

Bug: 126930319
Test: liblp_test gtest
Change-Id: I89a69cba110b62719197c9a4885cfc5bcf8f009f
2019-03-01 16:17:27 -08:00
Erick Reyes
5a744684c3 libmeminfo: librank optimization using maps instead of vectors
librank was calling std::vector::find_if in nested loops when iterating
through processes and maps.

Changed the implementation to use std::map::insert, this resulted in
a significant improvement to execution speed.

Test: time librank on crosshatch

Before:  1m22.57s real     1m15.87s user     0m05.79s system
After:   0m03.85s real     0m00.88s user     0m02.92s system

Bug: 124523194

Change-Id: I2b519d0bfd7f7929c6c4c6c2374794cb1a744585
Signed-off-by: Erick Reyes <erickreyes@google.com>
2019-03-01 16:17:20 -08:00
David Anderson
1fb530ddb3 Merge "Remove the block size alignment restriction." am: b1f97f9d1b
am: 5704d3e22d

Change-Id: I16e26f02ca9fbf1f0be521284166b0fc886b37c5
2019-03-01 15:01:43 -08:00
David Anderson
5704d3e22d Merge "Remove the block size alignment restriction."
am: b1f97f9d1b

Change-Id: I47bcdfe414ef646be36b2633d77697b6d9a71084
2019-03-01 14:57:02 -08:00
David Anderson
b1f97f9d1b Merge "Remove the block size alignment restriction." 2019-03-01 22:48:25 +00:00
Wei Wang
1e0e8b7bf7 Merge "Reduce log spam from libprocessgroup" am: 8dcd839158
am: f4885cb770

Change-Id: Ic427fce92cfc593a595d5f28304ae2f05d593000
2019-03-01 14:29:58 -08:00
Wei Wang
f4885cb770 Merge "Reduce log spam from libprocessgroup"
am: 8dcd839158

Change-Id: I9fa927e181424f55b4d6043352dd3b9d08c96e29
2019-03-01 14:25:43 -08:00
Treehugger Robot
8dcd839158 Merge "Reduce log spam from libprocessgroup" 2019-03-01 22:11:15 +00:00
Suren Baghdasaryan
980aaa027e Merge "libprocessgroup: convert Json::Value to const refs" am: 6ad4eb3519
am: 29b5a37e6d

Change-Id: I6ea37a7ebf7f3df2827e25b55c6334265c555542
2019-03-01 10:16:17 -08:00
Suren Baghdasaryan
c6ee857075 Merge "Add vendor cgroups and task_profiles support" am: 3af39f36cc
am: 6f8eee612c

Change-Id: Ic8d9ddc189bd2b2370b7e13f1e1fd3a8ea86914d
2019-03-01 10:14:39 -08:00
Mark Salyzyn
c919bafa3d Merge "bootstat: add salyzyn as owner" am: 8da7a1e6fd
am: 8138593f5a

Change-Id: Id3488bbe05d68cba7c61bacd8e28df1bab5dce37
2019-03-01 10:13:51 -08:00
Suren Baghdasaryan
29b5a37e6d Merge "libprocessgroup: convert Json::Value to const refs"
am: 6ad4eb3519

Change-Id: Ida562f432aa455ea1043161dc12e157c22a380fb
2019-03-01 10:10:07 -08:00
Suren Baghdasaryan
6f8eee612c Merge "Add vendor cgroups and task_profiles support"
am: 3af39f36cc

Change-Id: I4aec4ccdb0511f70a291b404432ff341c45522fb
2019-03-01 10:08:49 -08:00
Mark Salyzyn
8138593f5a Merge "bootstat: add salyzyn as owner"
am: 8da7a1e6fd

Change-Id: I1188d770df246691a9e75caab215f01cb552d279
2019-03-01 10:03:00 -08:00
Suren Baghdasaryan
6ad4eb3519 Merge "libprocessgroup: convert Json::Value to const refs" 2019-03-01 18:02:22 +00:00
Suren Baghdasaryan
3af39f36cc Merge "Add vendor cgroups and task_profiles support" 2019-03-01 18:01:39 +00:00