Commit Graph

39990 Commits

Author SHA1 Message Date
Steven Moreland 1549baa415 String16: remove integer overflows am: 0e5fbea01c
am: b02e0ab211

Change-Id: I618aaf491fb6309a3e313f4eeed62f68822f574d
2018-03-08 22:20:15 +00:00
Steven Moreland b02e0ab211 String16: remove integer overflows
am: 0e5fbea01c

Change-Id: I60af627000e8c8d4ad44dfafcfdea772afad3838
2018-03-08 22:13:10 +00:00
Mark Salyzyn df7a622c12 liblog: save errno through log writing
(cherry picked from commit 72d3724ee5)

Test: compile
Bug: 74258013
Change-Id: I5163527826855bc506ed324aaba47f8695aaf668
2018-03-07 22:30:16 +00:00
Christopher Ferris fc8febc888 Remove leftover commented out code.
Test: Compiles.
Change-Id: Icf1cf1640e76450d5327395eb94dbd87d2faac36
(cherry picked from commit 81744ac69f)
2018-03-06 17:14:41 -08:00
Suren Baghdasaryan 8aaf581b4d Merge changes I394a7920,Ia847118c,Ic8396eee,I79a85c33,Id015e6a7, ... am: 1d5b102671 am: 27bae4cf7c
am: 2cdfb3f23a  -s ours

Change-Id: I5d41303f07c25c06cf89d78b181f7c6d97902756
2018-03-03 00:50:09 +00:00
Steven Moreland bd352fdc92 Merge "fastboot: only require Linux modules on Linux" am: 24efdff2c5 am: 96eea9a773
am: 1c4150ee4c

Change-Id: I5372f2adeea27242e8caf37015453809ec6df524
2018-03-03 00:49:30 +00:00
Yi Kong 979ace46ed Merge "healthd: Fix negativity check after cast to unsigned enum" am: 3dad67af05 am: 4734981245
am: eb066ae098

Change-Id: I2327adfd50fceb232ef2a52e535914743c25cf3a
2018-03-03 00:46:57 +00:00
Suren Baghdasaryan 2cdfb3f23a Merge changes I394a7920,Ia847118c,Ic8396eee,I79a85c33,Id015e6a7, ... am: 1d5b102671
am: 27bae4cf7c

Change-Id: Ie508e8890b66c2baa334e4bbee1e46384b7f44c7
2018-03-03 00:37:13 +00:00
Steven Moreland 1c4150ee4c Merge "fastboot: only require Linux modules on Linux" am: 24efdff2c5
am: 96eea9a773

Change-Id: I20da9920086c2334309bc82e57a97432d5186f23
2018-03-03 00:36:20 +00:00
Yi Kong eb066ae098 Merge "healthd: Fix negativity check after cast to unsigned enum" am: 3dad67af05
am: 4734981245

Change-Id: I77ec8aae517e4bd647a7dd6c87cb53152410e7c9
2018-03-03 00:34:29 +00:00
Suren Baghdasaryan 27bae4cf7c Merge changes I394a7920,Ia847118c,Ic8396eee,I79a85c33,Id015e6a7, ...
am: 1d5b102671

Change-Id: Iec6ef1c08a1aed08e9376c367a6e69f8705a8518
2018-03-03 00:15:49 +00:00
Steven Moreland 96eea9a773 Merge "fastboot: only require Linux modules on Linux"
am: 24efdff2c5

Change-Id: Ic3b7aeee813ab0ef55e7a2ad0d71db6fdb3889c9
2018-03-03 00:14:29 +00:00
Yi Kong 4734981245 Merge "healthd: Fix negativity check after cast to unsigned enum"
am: 3dad67af05

Change-Id: If35b22e1a2e56a0a424aedc8d8e36d23c1ed5ea8
2018-03-03 00:09:34 +00: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
Steven Moreland d0648d8dc6 String16: remove integer overflows
Bug: 73826242
Test: manual
Change-Id: I32e13d61b944c1a527cf2d95473552d246e322be
Merged-In: I32e13d61b944c1a527cf2d95473552d246e322be
2018-03-02 20:26:45 +00:00
Steven Moreland 0e5fbea01c String16: remove integer overflows
Bug: 73826242
Test: manual
Change-Id: I32e13d61b944c1a527cf2d95473552d246e322be
2018-03-02 20:16:28 +00:00
TreeHugger Robot 6027705f46 Merge "String16: remove integer overflows" 2018-03-02 20:15:32 +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
Adam Lesinski 9937840eb0 Merge "Remove empty zip warning on host builds" am: fd42c09813 am: c9c0460e99
am: fbd68ec85e

Change-Id: Iba5ecc1ed7f059c4deb5bde2a3c0521cc8ca9e83
2018-03-02 02:39:27 +00:00
Adam Lesinski fbd68ec85e Merge "Remove empty zip warning on host builds" am: fd42c09813
am: c9c0460e99

Change-Id: Ie22226ad9a9c0dc5f3fbc4a841936cdecabf3cc4
2018-03-02 02:32:13 +00:00
Adam Lesinski c9c0460e99 Merge "Remove empty zip warning on host builds"
am: fd42c09813

Change-Id: Ic3d788dd7da989da048bfb410ca51bea716e3d08
2018-03-02 02:21:02 +00:00
Treehugger Robot fd42c09813 Merge "Remove empty zip warning on host builds" 2018-03-02 02:07:00 +00:00
Paul Crowley f023e51742 Merge "Revert "If enablefilecrypto or init_user0 fails, reboot into recovery."" am: b9ee9abebe am: c30557f2bf
am: 492ff5bf09

Change-Id: I4218d302b0924e162c64929f6b69d0a28f6fac4f
2018-03-02 01:54:26 +00:00
Paul Crowley 492ff5bf09 Merge "Revert "If enablefilecrypto or init_user0 fails, reboot into recovery."" am: b9ee9abebe
am: c30557f2bf

Change-Id: If87f2af0a0babe02d45353c57d08fd7335cfc2f6
2018-03-02 01:49:18 +00:00
Paul Crowley c30557f2bf Merge "Revert "If enablefilecrypto or init_user0 fails, reboot into recovery.""
am: b9ee9abebe

Change-Id: I46fd5105be75661eb74ab17528e03ac420e022dc
2018-03-02 01:43:48 +00:00
Tom Cherry b428407041 Merge "Restrict setting platform properties from vendor .prop files" am: c3892c045f am: 550ebdf9fb
am: 54dd80337d

Change-Id: I6ffb8a2ff839ae4b82b5ccfdfb6011800413dfe4
2018-03-02 01:27:48 +00:00
Treehugger Robot b9ee9abebe Merge "Revert "If enablefilecrypto or init_user0 fails, reboot into recovery."" 2018-03-02 01:26:32 +00:00
Tom Cherry 54dd80337d Merge "Restrict setting platform properties from vendor .prop files" am: c3892c045f
am: 550ebdf9fb

Change-Id: Ie9d551ff1bede431ab562f3fb127254a726e79d3
2018-03-02 01:22:40 +00:00
Tom Cherry 550ebdf9fb Merge "Restrict setting platform properties from vendor .prop files"
am: c3892c045f

Change-Id: I8d5cbc8addf03785d9effdde97c170d60b7c1255
2018-03-02 01:17:07 +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
Yi Kong 42d12f82bc Merge "Remove unreachable condition" am: a281389bf4 am: 061759246c
am: 7a4070ca95

Change-Id: I9431f46a90cd1b08569a2413ab5ecc0699a0f880
2018-03-02 01:06:14 +00:00
Yi Kong 7a4070ca95 Merge "Remove unreachable condition" am: a281389bf4
am: 061759246c

Change-Id: Icbdf441bc974fe97c73343ff1d92e3f0d6fabaaa
2018-03-02 01:00:34 +00:00
Yi Kong 061759246c Merge "Remove unreachable condition"
am: a281389bf4

Change-Id: I99e38d37f5fae3a71787eb6c63826c5fc57ba653
2018-03-02 00:55:28 +00:00
Treehugger Robot a281389bf4 Merge "Remove unreachable condition" 2018-03-02 00:48:42 +00:00
Paul Crowley e242a97db5 Revert "If enablefilecrypto or init_user0 fails, reboot into recovery."
This reverts commit 959b055535.

Reason for revert: b/73968735
Bug: 73968735
Test: b/73968735#comment5

Change-Id: Ifce4c029bab7380c60e20cc2b2885beb4a097456
2018-03-01 23:24:20 +00:00
Tom Cherry dde4c14c9f Merge "Clean up property set error handling" am: fe6cc42de4 am: d9b54aeb48
am: 0a6357dfea

Change-Id: I7008fe4726a4cec772be67d678cccff93398b47f
2018-03-01 23:15:02 +00:00
Tom Cherry 0a6357dfea Merge "Clean up property set error handling" am: fe6cc42de4
am: d9b54aeb48

Change-Id: Id7bfa9025f513719a1abbac5d240cdf4759b5886
2018-03-01 23:09:53 +00:00
Tom Cherry d9b54aeb48 Merge "Clean up property set error handling"
am: fe6cc42de4

Change-Id: I5f3c0dcdf8cc56374d9fc4e23283373a376c3913
2018-03-01 23:04:49 +00:00
Tom Cherry fe6cc42de4 Merge "Clean up property set error handling" 2018-03-01 22:54:24 +00:00