Commit graph

38364 commits

Author SHA1 Message Date
Yabin Cui
ef58cef982 base: Add TemporaryFile::DoNotRemove().
Bug: http://b/73127105
Test: none.
Change-Id: I563c12bfb629ddd630568dda4817fb10cc9940a8
2018-03-08 17:59:36 -08:00
David Srbecky
3692f25199 Don't implicitly dereference DW_CFA_def_cfa_expression.
The specification isn't entirely clear. Follow the gdb interpretation.

Bug: 73954823
Test: libunwindstack_test
Change-Id: If72717f54eed84e442f43af19e615143a9796b68
2018-03-08 14:44:11 -08:00
Tom Cherry
cb336eef48 init: document previously undocumentary service options
These all should have been documented previously but haven't been.

Test: n/a
Change-Id: I443e733f06584bb09b68b404608c8a611bb2baa0
2018-03-08 14:41:20 -08:00
Tom Cherry
bbbfed6083 init: alphabetize service options in README.md
Test: n/a
Change-Id: If1e89a67a41279cab6acf3e38ff8eb5b77a274c1
2018-03-08 14:40:18 -08:00
Tom Cherry
e2f341e8ce init: alphabetize service options
Lists should always be alphabetized...

Test: treehugger
Change-Id: I0481d87ac62b59bbe8f328eeaaac1a84a05f20a9
2018-03-08 13:51:10 -08:00
Treehugger Robot
929112bcd1 Merge "libutils: Remove Static.cpp and darwin hacks." 2018-03-08 21:16:56 +00:00
Treehugger Robot
2b49abe447 Merge "Base: Add default tag manipulation" 2018-03-08 18:36:45 +00:00
Treehugger Robot
92ca281cba Merge "init: use FQName parse" 2018-03-07 21:51:17 +00:00
Treehugger Robot
bf62136be4 Merge "adbd: don't require authentication for userdebug/eng builds." 2018-03-07 21:23:57 +00:00
Treehugger Robot
80e48117c5 Merge changes I51635278,I04c0038e
* changes:
  liblog: save errno through log writing
  libion: cleanup logging
2018-03-07 21:12:46 +00:00
Steven Moreland
422367b97f init: use FQName parse
FQName::FQName(string) could leave the FQName in an
invalid state, and so this constructor is being removed
and the mValid member is being removed.

Bug: 73774955
Test: boots + interface_start control messages received by init
Change-Id: I58d4a089c0a0f1c2cc5129c5e87321e7f6663b72
2018-03-07 19:00:15 +00:00
Mark Salyzyn
72d3724ee5 liblog: save errno through log writing
Test: compile
Bug: 74258013
Change-Id: I5163527826855bc506ed324aaba47f8695aaf668
2018-03-07 10:56:51 -08:00
Mark Salyzyn
5be32c312c libion: cleanup logging
Get rid of trailing newlines as they just take wasted space.
Added a missing strerror(error) expansion for failure to open.

Test: compile
Bug: 74258013
Change-Id: I04c0038e1ca53d2ffe0a78386744f12874215c19
2018-03-07 10:56:06 -08:00
Tom Marshall
66f6a6dc67 fs_mgr: Ignore invalid DT device nodes
With treble, the vendor kernel and ramdisk are supposed to be used.
But vendors always find new and interesting ways to break things:

$ cat /proc/device-tree/firmware/android/fstab/system/dev; echo
/by-name/system_a
$

Change-Id: I826a96ebd625b52563d3cc970bf99d9b26dc093e
2018-03-07 17:59:57 +01:00
Treehugger Robot
a026a176ff Merge "Include iface index in the netlink event" 2018-03-07 08:12:31 +00:00
Chenbo Feng
5e5e5e9a73 Include iface index in the netlink event
The TrafficController inside netd also get notified when the interface
on device added or removed, and it need both ifaceName and ifaceIndex
information from Netlink event. Add the ifaceIndex in the event can
avoid the TrafficController to run if_nametoindex again when receive
the event.

Bug: 30950746
Bug: 73137611
Test: new interface show up in bpf interface map.
Change-Id: Ia3b4aeb8eff345ce7cf03ccec88f0893cfe125c0
2018-03-07 11:39:52 +09:00
Treehugger Robot
b41b33581e Merge "adbd: make static." 2018-03-06 23:04:46 +00:00
Andreas Gampe
1923e768ef Base: Add default tag manipulation
Allow the default tag (the program name) to be overwritten.

Bug: 34867873
Test: m
Test: logging_test
Test: manual
Change-Id: I4ef32bad413a7cc82e46ce16a2f26212925964b1
2018-03-06 14:45:11 -08:00
Christopher Ferris
3399853809 Merge "Remove leftover commented out code." 2018-03-06 22:11:26 +00:00
Josh Gao
6eda1840cb adbd: don't require authentication for userdebug/eng builds.
By default, the build system only sets ro.adb.secure (to 1) when
building user builds.

Bug: http://b/73993211
Bug: http://b/74059119
Test: treehugger
Change-Id: I2a683257c1027394ded90c8d2634def6003e0525
2018-03-06 13:37:45 -08:00
Josh Gao
8db99f810d adbd: make static.
adbd is copied into the recovery image without the accompanying
linker/libraries, so it must be a static executable.

Bug: http://b/74237641
Test: `file $ANDROID_PRODUCT_OUT/system/bin/adbd`
Change-Id: Ie8d0710f6002458519d3eea3d696e9016faafee8
2018-03-06 13:01:34 -08:00
Jerry Zhang
5180d5b4dc Merge "Make libasyncio headers usable from C" 2018-03-06 19:35:21 +00:00
Christopher Ferris
81744ac69f Remove leftover commented out code.
Test: Compiles.
Change-Id: Icf1cf1640e76450d5327395eb94dbd87d2faac36
2018-03-06 11:24:55 -08:00
Steven Moreland
241b93cfd3 libutils: Remove Static.cpp and darwin hacks.
Bug: N/A
Test: in internal master, the only libraries that reference this
  symbol are:
./prebuilts/sdk/tools/linux/bin/split-select android::gDarwinIsReallyAnnoying
./prebuilts/sdk/tools/linux/bin/aapt android::gDarwinIsReallyAnnoying
./prebuilts/sdk/tools/linux/bin/aapt2 android::gDarwinIsReallyAnnoying
./prebuilts/sdk/tools/linux/lib64/libaapt2_jni.so android::gDarwinIsReallyAnnoying
./prebuilts/sdk/tools/linux/lib64/libaapt2_jni.so android::gDarwinIsReallyAnnoying
+ VNDK libraries
Test: libutils_test

Change-Id: Id39e5ef6438e48fa225ba06dbb59902ca5b60f70
2018-03-06 17:44:08 +00:00
Treehugger Robot
d555e08224 Merge "Copy adb/OWNERS to diagnose_usb/OWNERS." 2018-03-06 01:50:49 +00:00
Elliott Hughes
ce55523ffc Copy adb/OWNERS to diagnose_usb/OWNERS.
Bug: N/A
Test: builds
Change-Id: Iba1922309ef178a41b5bb622065840f49f3c81cf
2018-03-05 15:47:43 -08:00
Josh Gao
9ee373ac2c Merge changes from topic "adb_bp"
* changes:
  adb: remove meaningless const.
  adb: convert Connection to a nonblocking interface.
  adb: use soong version stamping.
  adb: switch over to Android.bp.
2018-03-05 23:45:27 +00:00
Josh Gao
ffbd3364a4 adb: remove meaningless const.
Returning a const value is pointless.

Test: mma
Change-Id: Ia578d75345361d53e4a29bb9724bfcc161b8d8be
2018-03-05 13:00:28 -08:00
Josh Gao
0bbf69cbbf adb: convert Connection to a nonblocking interface.
Rename the existing Connection to BlockingConnection, add a nonblocking
Connection, and add an adapter between the two, to enable future work
to reduce the impedance mismatch from implementing a blocking interface
on top of nonblocking primitives.

While we're here, delete A_SYNC, and remove one layer of pipes when
sending a packet (replacing it with a condition variable when using
BlockingConnectionAdapter).

Test: python test_device.py, manually plugging/unplugging devices
Change-Id: Ieac2bf937471d9d494075575f07e53b589aba20a
2018-03-05 13:00:28 -08:00
Josh Gao
c7567fa52e adb: use soong version stamping.
Bug: http://b/71719137
Test: adb version
Change-Id: Ic735814574c83a7c2b8bef213592d494f5ec3860
2018-03-05 13:00:08 -08:00
Treehugger Robot
fc882a67d8 Merge "Add ek and lorenzo to OWNERS for system/core netlink code." 2018-03-05 19:21:37 +00:00
Lorenzo Colitti
29005acfd4 Add ek and lorenzo to OWNERS for system/core netlink code.
Test: builds
Change-Id: I3f3ffaf45b683a5f757d83f751a8adb8bb2e0daf
2018-03-05 19:18:02 +09:00
Jerry Zhang
c3d4e7226a Make libasyncio headers usable from C
This allows us to enable LTP tests
for io_* syscalls.

Bug: 31152298
Test: LTP tests pass
Change-Id: Ic25189d8bf25cdacfa0f144ac57c7b2827adcd9f
2018-03-02 16:28:15 -08:00
Suren Baghdasaryan
1d5b102671 Merge changes I394a7920,Ia847118c,Ic8396eee,I79a85c33,Id015e6a7, ...
* changes:
  lmkd: Select in-kernel vs userspace lmk based on kernel driver presence
  lmkd: Implement kill timeout
  lmkd: Allow killing multiple processes to downgrade memory pressure
  lmkd: Detect the highest level of vmpressure when event is detected
  lmkd: Close cgroup.event_control file when done writing
  lmkd: Remove stale dependency on libprocessgroup
  lmkd: Add ability to trace lmkd kills
  lmkd: add logic to kill the heaviest of the eligible processes
  lmkd: change defaults to disable event upgrade/downgrade logic
  lmkd: add ability to monitor all vmpressure events
2018-03-02 21:32:18 +00:00
Treehugger Robot
24efdff2c5 Merge "fastboot: only require Linux modules on Linux" 2018-03-02 20:44:29 +00:00
Treehugger Robot
3dad67af05 Merge "healthd: Fix negativity check after cast to unsigned enum" 2018-03-02 19:49:18 +00:00
Yi Kong
808e57e3f3 healthd: Fix negativity check after cast to unsigned enum
mapSysfsString return code is checked for negativity after being casted
to unsigned enum type, which will always be false. This is obviously
unintended behaviour.

Fixes tautological-unsigned-enum-zero-compare warning.

Bug: 72331526
Test: m
Change-Id: Icec76d7a1121cb56fd9d05feb70cede69954c322
2018-03-02 18:42:03 +00:00
Treehugger Robot
fd42c09813 Merge "Remove empty zip warning on host builds" 2018-03-02 02:07:00 +00:00
Treehugger Robot
b9ee9abebe Merge "Revert "If enablefilecrypto or init_user0 fails, reboot into recovery."" 2018-03-02 01:26:32 +00:00
Suren Baghdasaryan
2088f6ad03 lmkd: Select in-kernel vs userspace lmk based on kernel driver presence
(cherry pick from commit 979591b627)

Currently selection criteria for in-kernel vs userspace lmk is kernel
driver presence and device not being a Go device. This change removes
Go device check leaving kernel driver presence to be the only selection
criteria.

Bug: 71502948

Change-Id: I394a7920433a8d090e207ea86296356413a63fe7
Merged-In: I394a7920433a8d090e207ea86296356413a63fe7
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:16:05 +00:00
Suren Baghdasaryan
63dadcf79e lmkd: Implement kill timeout
(cherry pick from commit caa2dc56fd)

New ro.lmk.kill_timeout_ms property defines timeout in ms after a
successful kill cycle for more kills to be considered. This is
necessary because memory pressure after a kill does not go down
instantly and system needs time to reflect new memory state. This
timeout prevents extra kills in the period immediately after a
kill cycle. By default it is set to 0 which disables this feature.

Bug: 63631020
Test: alloc-stress

Change-Id: Ia847118c8c4a659a7fc38cd5cd0042acb514ae28
Merged-In: Ia847118c8c4a659a7fc38cd5cd0042acb514ae28
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:15:01 +00:00
Suren Baghdasaryan
aa73bafea7 lmkd: Allow killing multiple processes to downgrade memory pressure
(cherry pick from commit 65f54a2665)

Record free memory at low vmpressure levels and whenever pressure
increases beyond low free up enough memory to downgrade memory pressure
to low. This is done by freeing enough memory to get to the max free
memory levels seen during low vmpressure.
The kill logic for Go devices is not changed as these devices are designed
to operate under high memory pressure.

Bug: 63631020
Test: alloc-stress

Change-Id: Ic8396eee08013b1c709072a13525601d5c8bf1f1
Merged-In: Ic8396eee08013b1c709072a13525601d5c8bf1f1
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:14:13 +00:00
Suren Baghdasaryan
1a2589e52b lmkd: Detect the highest level of vmpressure when event is detected
(cherry pick from commit e82e15c242)

lmkd checks for vmpressure events using epoll_wait() with eventfds of
all registered events. It's possible that multiple events of different
priorities happen before epoll_wait() returns. For these cases we
use conservative approach by assuming that the system is under the
highest registered vmpressure levels. This speeds up lmkd response time
to high memory pressure by not responding to possibly stale low pressure
levels when vmpressure rises quickly.

Bug: 63631020
Test: alloc-stress

Change-Id: I79a85c3342e7e1b3a3be82945266b2cc60b437cf
Merged-In: I79a85c3342e7e1b3a3be82945266b2cc60b437cf
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:13:16 +00:00
Tom Cherry
c3892c045f Merge "Restrict setting platform properties from vendor .prop files" 2018-03-02 01:12:32 +00:00
Suren Baghdasaryan
ab05d67d86 lmkd: Close cgroup.event_control file when done writing
(cherry pick from commit 1bd2fc4fb6)

After events are specified by writing into cgroup.event_control file
the file should be closed.

Change-Id: Id015e6a7bac2b74bbc8d8793c85f529ee00bdf55
Merged-In: Id015e6a7bac2b74bbc8d8793c85f529ee00bdf55
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:12:29 +00:00
Suren Baghdasaryan
e57c3d313d lmkd: Remove stale dependency on libprocessgroup
(cherry pick from commit b333f83481)

Remove stale dependencies and header file inclusions

Change-Id: Ic0e7adb5bd2a0832937a831b6918e52ace4ad46a
Merged-In: Ic0e7adb5bd2a0832937a831b6918e52ace4ad46a
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:11:34 +00:00
Suren Baghdasaryan
e1217c025d lmkd: Add ability to trace lmkd kills
(cherry pick from commit c71355991d)

For tracing lmkd kills inside kernel it is useful to have traces
indicating when and which process lmkd is killing. By default the
tracing is disabled.

Bug: 63631020
Test: alloc-stress

Change-Id: I3ceb2bde0c292eec55855cb4535927f3b4c5d08b
Merged-In: I3ceb2bde0c292eec55855cb4535927f3b4c5d08b
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:10:42 +00:00
Suren Baghdasaryan
b93764db9c lmkd: add logic to kill the heaviest of the eligible processes
(cherry pick from commit 662492ab1d)

Killing the most memory-demanding process from the set of eligible
processes yields better results on high-performance devices than
killing the first one we could find. This is in line with how in-kernel
lowmemorykiller driver chooses its victims.

Bug: 63631020
Test: alloc-stress

Change-Id: Ie1ef7f33f3e79698a9b4120c14490386d6129f9b
Merged-In: Ie1ef7f33f3e79698a9b4120c14490386d6129f9b
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:09:12 +00:00
Suren Baghdasaryan
e5c9643119 lmkd: change defaults to disable event upgrade/downgrade logic
(cherry pick from commit ad2fd9150b)

vmpressure upgrade/downgrade logic based on swap utilization works well
for low memory devices because of a small swap size, however for high
performance devices this measure is not a good indication of the memory
pressure because of large swap resources. This change sets the default
levels to disable upgrade/downgrade logic by default and each device
can set these properties appropriately.

Bug: 63631020
Test: alloc-stress

Change-Id: Ifd4fbd4d6bb3e82f0f87b029df94934f1e7b1c9c
Merged-In: Ifd4fbd4d6bb3e82f0f87b029df94934f1e7b1c9c
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2018-03-02 01:07:42 +00:00
Treehugger Robot
a281389bf4 Merge "Remove unreachable condition" 2018-03-02 00:48:42 +00:00