Commit Graph

46709 Commits

Author SHA1 Message Date
Josh Gao 68f136b407 Merge changes I4d351f56,Ib9e91157
am: 7669ea5a44

Change-Id: I4336eebc399cef4df8157a00f186379a2b2e376f
2019-03-01 02:20:59 -08:00
Dima Zavin 0bb3fd4dbb Merge changes Ia3bba21c,I0ffc159b
am: 83d9b680f5

Change-Id: I3dc5a30f40b3066f08bbefc43fca2066967a619f
2019-03-01 02:19:58 -08:00
Josh Gao b530537d46 Merge "adbd: fix a case where we can fail to join a thread." 2019-03-01 10:16:46 +00:00
Josh Gao 7669ea5a44 Merge changes I4d351f56,Ib9e91157
* changes:
  adbd: tune USB read/write sizes and queue depths.
  adb: add benchmarks for sink/source.
2019-03-01 10:15:54 +00:00
Dima Zavin 83d9b680f5 Merge changes Ia3bba21c,I0ffc159b
* changes:
  fastboot: reset timeout if INFO is received during long commands
  fastboot: switch the timeout clock source to steady_clock
2019-03-01 10:12:39 +00:00
Suren Baghdasaryan e681df44eb libprocessgroup: convert Json::Value to const refs
Convert Json::Value to const refs to prevent creation of a null member
if specified element does not exist. Fix variable naming in the parser
while we are at it.

Change-Id: I7dabfd1c73983b465984dd6c411c9fe48743a348
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-03-01 00:29:49 +00:00
Suren Baghdasaryan 05da67c390 Add vendor cgroups and task_profiles support
Vendors should be able to specify additional cgroups and task profiles
without changing system files. Add support for /vendor/etc/cgroups.json
and /vendor/etc/task_profiles.json files which will augment cgroups and
task profiles specified in /etc/cgroups.json and /etc/task_profiles.json
system files.

Bug: 124960615
Change-Id: I548c2e866b65c19856a3617d75b75dcd06f7d5b7
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-03-01 00:29:37 +00:00
Josh Gao 5841a96afc adbd: tune USB read/write sizes and queue depths.
Reduce the operation sizes to sizes that are small enough that the
kernel will run the OOM killer to try to make them succeed. Compensate
for the smaller operation sizes by increasing the queue depth.

Bug: http://b/126582877
Test: benchmark_device.py
Change-Id: I4d351f56c8f83fea882614238cc3fec8ba1e9bf9
2019-02-28 15:53:48 -08:00
Josh Gao b416f2252e adb: add benchmarks for sink/source.
Test: ./benchmark_device.py
Change-Id: Ib9e911574be3afa94efcfd9bc5be0a5cf7b9e2c0
2019-02-28 15:53:48 -08:00
Dima Zavin 6d46a4975e fastboot: reset timeout if INFO is received during long commands
As part of a refactor, commit db511207ed
added a timeout for receving responses for commands. Unfortunately,
the timeout is optimistic as to how quickly target devices can complete
such operations. Flash and erase commands can be quite slow on devices
with traditional flash chips. The fastboot protocol is already adept
at handling such cases because it allows for sending INFO packets during
these periods. We may receive one or more INFO packets during tehse long
operations. Every time we receive an INFO packet, it proves the remote
end is alive, but busy, which should reset our timeout timer.

Change-Id: Ia3bba21c497b22639b626d89711ecd4eb02504ed
Signed-off-by: Dima Zavin <dmitriyz@waymo.com>
2019-02-28 14:55:49 -08:00
Dima Zavin a5b85a431e fastboot: switch the timeout clock source to steady_clock
Previously, system_clock was used for remote command timeouts
which can get disturbed by NTP adjustments (jumps).

Change-Id: I0ffc159bf34d12e8d3713044524114d60a6a45ca
Signed-off-by: Dima Zavin <dmitriyz@waymo.com>
2019-02-28 14:55:48 -08:00
Mark Salyzyn fe85df1c0d bootstat: add salyzyn as owner
Test: none
Change-Id: I1d8874dfb5cc9efaed5ad85702a054f1c2a7766f
2019-02-28 14:10:34 -08:00
Josh Gao e778b3ad71 adbd: fix a case where we can fail to join a thread.
Bug: http://b/126703621
Change-Id: I3061d24bbdc154ebf1f9e3f5a903f01382fa518f
2019-02-28 13:53:24 -08:00
Greg Kaiser 0e1a78266b Merge "libfs_avb: Pass const string by reference"
am: 949a561cfa

Change-Id: I260eaae7e7b2951c5e7824618eb45e9ecac0879b
2019-02-28 11:06:18 -08:00
Treehugger Robot 949a561cfa Merge "libfs_avb: Pass const string by reference" 2019-02-28 18:53:27 +00:00
Rick Yiu 08faeaf126 Merge "Unify some text format in task_profiles.json"
am: 51eba0944a

Change-Id: Ic76ff997a4c95c7959250fa9d0134a6233132856
2019-02-28 07:24:02 -08:00
Treehugger Robot 51eba0944a Merge "Unify some text format in task_profiles.json" 2019-02-28 15:15:20 +00:00
Greg Kaiser 4d6f4cc4fe libfs_avb: Pass const string by reference
Minor performance improvement for ValidatePublicKeyBlob().

Test: TreeHugger
Change-Id: I3498b529abedb8169d2488a2dc04cbd42cdb6f7d
2019-02-28 06:34:25 -08:00
Josh Gao c423d790b7 Merge "adbd: limit the sizes of aio writes."
am: 50cb647e7d

Change-Id: I897cad37099350ebf0e7776bcdd4a95cb9a872e5
2019-02-27 23:34:44 -08:00
Josh Gao 50cb647e7d Merge "adbd: limit the sizes of aio writes." 2019-02-28 07:25:21 +00:00
Bowgo Tsai d214b40685 fs_mgr: fix fs_mgr avb_keys parsing problem
We should check if the fs_mgr option starts with "avb_keys" before
"avb". Otherwise, it will treat "avb_keys" as "avb" fs_mgr option.

Bug: 112103720
Test: atest fs_mgr_unit_test

Change-Id: I88446222fa88e8ecfcd6f96d30ad4336ebe146a8
2019-02-28 10:37:37 +08:00
Bowgo Tsai 68d33d7f5f Merge "libfs_avb: support key rotation for standalone partitions"
am: 33f344cb36

Change-Id: I78862da2ec748844beaee2b11a20163e6c1a9247
2019-02-27 17:23:04 -08:00
Treehugger Robot 33f344cb36 Merge "libfs_avb: support key rotation for standalone partitions" 2019-02-28 01:13:20 +00:00
Josh Gao 86b33be035 adbd: limit the sizes of aio writes.
The kernel does a kmalloc of the write size for each write during
io_submit, which can lead to failure if the kernel's heap is fragmented
such that it can't allocate a contiguous 1MB chunk. Partition writes
into 16 page chunks which are much more likely to succeed.

Bug: http://b/126582877
Test: test_device.py
Change-Id: Ib2d48561594e1d81f1a2f62e34eaa40265ac47c4
2019-02-27 15:45:59 -08:00
Mark Salyzyn 38ab1b9ec0 Merge changes I7a2dd830,I6ce43725,I5fc2f370,Ibc2e14bd,Idf213800, ...
am: c620f4a1b8

Change-Id: I4ec1c0d85eca768562d7d91eb89205c04d72aa6c
2019-02-27 15:27:54 -08:00
Treehugger Robot c620f4a1b8 Merge changes I7a2dd830,I6ce43725,I5fc2f370,Ibc2e14bd,Idf213800, ...
* changes:
  fs_mgr_remount: support legacy devices (marlin)
  fs_mgr: remount: add -R argument
  fs_mgr: remount: add -T fstab argument
  fs_mgr: remount: log to stderr and logd
  fs_mgr: add remount command
  fs_mgr: overlayfs: test: add inRecovery check
2019-02-27 23:14:43 +00:00
Mark Salyzyn 4469fb1c06 fs_mgr_remount: support legacy devices (marlin)
Deal with first version of verity for legacy products.

Test: system/core/fs_mgr/tests/adb-remount-test.sh
Bug: 120448575
Bug: 123079041
Change-Id: I7a2dd8309cbb19751fdbb05d4efc30c486615e04
2019-02-27 13:03:13 -08:00
Mark Salyzyn 1188ce4e1d fs_mgr: remount: add -R argument
The -R flag tells remount it can reboot to disable verity or to
run fsck on an ext4 deduped filesystem, or both.

Testing may include a manual component because adb-remount-test.sh
needs to run from a device in an enable-verity state to test this.

Only recognizes chained avb.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: I6ce4372532d9b933dcca9e2bec544d525b76c4d9
2019-02-27 13:03:13 -08:00
Mark Salyzyn 8c07db6a6b fs_mgr: remount: add -T fstab argument
Allow selection of an fstab file.  This is to mirror the built-in
functionality associated with init mount_all <fstab> command.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: I5fc2f3707c1dafd687c826eaccbaab03a408035b
2019-02-27 13:03:13 -08:00
Mark Salyzyn 75941f2c9c fs_mgr: remount: log to stderr and logd
Logging normally goes to stderr, also send output redirected to the
Android Logger.  Required if command is exec'd, useful if commanded
from shell.

Test: manual confirmation of both outputs.
Bug: 122602260
Change-Id: Ibc2e14bd4fad561514c0c33741da8ca6f00af3f3
2019-02-27 13:03:13 -08:00
Mark Salyzyn 6b3f587ac7 fs_mgr: add remount command
There is currently no good option for callers to setup overlayfs
on-device, it is automated as part of the adb services.  Add a
remount command that does what is needed that simulates the salient
behaviors of the adb remount command.

Clean up some noise restoring device to original state when done.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: Idf213800a8182cb1c51600c8f574df8a8cd68d4a
2019-02-27 13:03:13 -08:00
Mark Salyzyn 6dc0dfe785 fs_mgr: overlayfs: test: add inRecovery check
Handle a device in recovery mode gracefully.  Handle a device
that fails to boot into a commanded state more gracefully.

Deal with regression where die() calls restore(), and we can not
have this under the conditions where we are ignoring the error
in a subshell.

Test: adb-remount-test.sh
Bug: 118225373
Bug: 123079041
Change-Id: Ie37beb245d0ec55eb00757cdb93da34ff9c42827
2019-02-27 13:03:08 -08:00
David Anderson 281a0f2174 Merge "libfiemap_writer: Allow callers to query the block device of a file."
am: 2c32a6cf24

Change-Id: I3e6dca9d52a8ad8bc7002547cf125ad388cafcde
2019-02-27 11:56:13 -08:00
David Anderson 2c32a6cf24 Merge "libfiemap_writer: Allow callers to query the block device of a file." 2019-02-27 19:48:14 +00:00
Dario Freni a7f85cfeb4 Merge "Support splitAPK in install-multi-package."
am: 455f12446e

Change-Id: I285cc3a14f478dbaaee90d85335bc256ee85f084
2019-02-27 11:15:26 -08:00
Dario Freni 455f12446e Merge "Support splitAPK in install-multi-package." 2019-02-27 19:00:14 +00:00
Rick Yiu b6d02ff175 Merge "Add blkio cgroup to libprocessgroup"
am: d5345f58fd

Change-Id: Ifb3b3e1d602f8bb4b9f3c29b4c9a4e502ad76271
2019-02-27 05:15:54 -08:00
Rick Yiu e9d149fd7e Unify some text format in task_profiles.json
Bug: 111307099
Test: cgroup function is normal
Change-Id: Id992b875720ff67a5d1a2b052072ee7ea7b16a9a
2019-02-27 21:08:19 +08:00
Treehugger Robot d5345f58fd Merge "Add blkio cgroup to libprocessgroup" 2019-02-27 13:04:00 +00:00
Wei Wang 140c3b6202 Merge "Fix string reference usage"
am: 55d36240dc

Change-Id: I9aa3118ba3497b2169f1acae24841a06e0f9455b
2019-02-27 04:39:26 -08:00
Treehugger Robot 55d36240dc Merge "Fix string reference usage" 2019-02-27 11:04:30 +00:00
Wei Wang 1770566de6 Fix string reference usage
Bug: 124774415
Test: Build
Change-Id: Ic0e5ee4f3375c2fa21fbc2ce3796b7368e9e289c
2019-02-27 06:04:13 +00:00
Bowgo Tsai f3e28e1682 libfs_avb: support key rotation for standalone partitions
The FstabEntry.avb_key is renamed to FstabEntry.avb_keys, to
allow specifying multiple avb keys, separated by ':'
(because ',' is already used by fstab parsing).

Bug: 124013032
Test: boot live GSI with multiple allowed AVB keys
Change-Id: Iacd3472a1d5a659dfecf09ea6074d622658f4d0b
2019-02-27 04:13:21 +00:00
Rick Yiu 2b3bf84373 Add blkio cgroup to libprocessgroup
To differentiate IO priority for different groups.

Bug: 111422845
Bug: 117857342
Test: tasks are assigned to the group as expected
Change-Id: Ibb108d1b8e0f720f7ac4cab248b3c33d35e5483d
2019-02-27 11:23:14 +08:00
Mark Salyzyn 7a2029363d Merge "fs_mgr: overlayfs: requires override_creds patch for 4.4+ kernels (taimen)"
am: df3f38f6c9

Change-Id: Ic6db2a4cfb1bedd1e768abf671208fa32e5c8354
2019-02-26 17:36:36 -08:00
Treehugger Robot df3f38f6c9 Merge "fs_mgr: overlayfs: requires override_creds patch for 4.4+ kernels (taimen)" 2019-02-27 01:18:23 +00:00
Elliott Hughes 2eca1f4bf0 Merge "Add `test_suites` to libutils_test."
am: bc94667e8e

Change-Id: I7cff1afd6f7b2a4b3572917fd3cdb3b63e4834e3
2019-02-26 14:43:08 -08:00
Elliott Hughes bc94667e8e Merge "Add `test_suites` to libutils_test." 2019-02-26 22:31:26 +00:00
Josh Gao b7d775866c Merge "Revert "adbd: switch the default USB implementation.""
am: c2970282cb

Change-Id: I55b9fa99642980d229623b0b1231b448b79f97b6
2019-02-26 14:21:23 -08:00
Josh Gao c2970282cb Merge "Revert "adbd: switch the default USB implementation."" 2019-02-26 22:15:40 +00:00