Suren Baghdasaryan
dc60f9717b
lmkd: Handle workingset_refault vmstat field change in 5.9 kernel
...
Linux kernel 5.9 change some vmstat fields including workingset_refault
which affects lmkd operation. Update vmstat parsing to handle both
old (workingset_refault) and new (workingset_refault_file) names for
that field.
Bug: 175617952
Test: lmkd_unit_test
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I8f9b3d027ca96154f07e7252902a5aa04cf05a9f
2020-12-14 13:38:48 -08:00
Suren Baghdasaryan
9f8d3dec72
lmkd: Remove unused workingset_refault parsing from zoneinfo
...
workingset_refault field in zoneinfo is currently being parsed but
is not used. Instead the same field in vmstat is being used to
capture the number of file-backed workingset refaults. Remove the
unused field parsing code.
Bug: 175617952
Test: lmkd_unit_test
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I79641a833c252cf50ac08c0c7d17c8294236d82d
2020-12-14 13:10:59 -08:00
Kalesh Singh
5015275acf
lmkd: Add clang format symlink
...
Bug: 174144799
Test: clang-format -i <file>
Change-Id: I56afa2b58891fbc1786669afa7d442343dbc6f19
2020-11-24 13:09:01 -05:00
Xin Li
1b8a38e058
Mark ab/6881855 as merged am: 07acc19c82 am: 51ce688cf3
...
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/13113095
Change-Id: I9fb2f19a694e46733955429117cfccace7fa55b5
2020-11-24 00:54:32 +00:00
Xin Li
51ce688cf3
Mark ab/6881855 as merged am: 07acc19c82
...
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/13113095
Change-Id: I87d9d415c57bf723e40190c9e168fbdeeeb67ca7
2020-11-24 00:25:53 +00:00
Xin Li
07acc19c82
Mark ab/6881855 as merged
...
Bug: 172690556
Change-Id: I3f3d51c5ec32369ba0c31113822118d4bffe4147
2020-11-23 11:33:00 -08:00
Xin Li
9179abf75e
[automerger skipped] Skip ab/6749736 in stage. am: e6ad9cc974 -s ours am: 5f53b6182a -s ours am: 7d88c39e7e -s ours
...
am skip reason: Change-Id I21557b59bcb67736b552b7f5fa3b37045851a4dd with SHA-1 5ac19eb471 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12797482
Change-Id: Ie2ea9f226d3d559d63a7f8adebfbc1a8e22a36c6
2020-10-09 06:06:22 +00:00
Xin Li
7d88c39e7e
[automerger skipped] Skip ab/6749736 in stage. am: e6ad9cc974 -s ours am: 5f53b6182a -s ours
...
am skip reason: Change-Id I21557b59bcb67736b552b7f5fa3b37045851a4dd with SHA-1 5ac19eb471 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12797482
Change-Id: Ic0a4ce9ec9aacc805f9dafe2f3f5f8a58d04ec90
2020-10-09 04:17:56 +00:00
Xin Li
5f53b6182a
[automerger skipped] Skip ab/6749736 in stage. am: e6ad9cc974 -s ours
...
am skip reason: Change-Id I21557b59bcb67736b552b7f5fa3b37045851a4dd with SHA-1 5ac19eb471 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12797482
Change-Id: I48f4da311c68103df2f205d1127bb3470001e461
2020-10-09 03:39:58 +00:00
Xin Li
e6ad9cc974
Skip ab/6749736 in stage.
...
Merged-In: I21557b59bcb67736b552b7f5fa3b37045851a4dd
Change-Id: I4ba2e0df4785cafd998a73ac73520c5ac06cc700
2020-10-08 17:24:04 -07:00
Sudarshan Rajagopalan
c30332e48f
libpsi: Export library to vendor am: c467601098 am: 54c3db5d70 am: 449b0f229f am: c9703e8e18 am: b94cc1c4d3
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437955
Change-Id: Iea962c01c5132af48d79c7d325aadd8ec1b3aecc
2020-09-29 02:59:45 +00:00
Sudarshan Rajagopalan
b94cc1c4d3
libpsi: Export library to vendor am: c467601098 am: 54c3db5d70 am: 449b0f229f am: c9703e8e18
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437955
Change-Id: I82b31efaf6b8347019fc934d154493a132cdec0d
2020-09-29 02:22:19 +00:00
Sudarshan Rajagopalan
c9703e8e18
libpsi: Export library to vendor am: c467601098 am: 54c3db5d70 am: 449b0f229f
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437955
Change-Id: I63af4bea59653360e6db2014f7d48b4478e03b48
2020-09-29 01:56:06 +00:00
Sudarshan Rajagopalan
33cb847bf1
libpsi: Add explicit header files am: 8771e054e8 am: 41dc0274a3 am: 21eb403400 am: 070fa2cc74 am: bfacb1cbdc
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437956
Change-Id: Icc3742db01b3a580ce7857d27fa8f7820a360989
2020-09-29 01:54:19 +00:00
Sudarshan Rajagopalan
449b0f229f
libpsi: Export library to vendor am: c467601098 am: 54c3db5d70
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437955
Change-Id: I59b45e92823d544f77c7dc207b0c836d2d56280d
2020-09-29 01:39:26 +00:00
Sudarshan Rajagopalan
bfacb1cbdc
libpsi: Add explicit header files am: 8771e054e8 am: 41dc0274a3 am: 21eb403400 am: 070fa2cc74
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437956
Change-Id: Ia4fff3569217a00c5aab164c96ce8d617c09f97b
2020-09-29 01:39:06 +00:00
Sudarshan Rajagopalan
54c3db5d70
libpsi: Export library to vendor am: c467601098
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437955
Change-Id: I71df63d382caf5f06131b1f7950dab1955bb6c4d
2020-09-29 01:21:07 +00:00
Sudarshan Rajagopalan
070fa2cc74
libpsi: Add explicit header files am: 8771e054e8 am: 41dc0274a3 am: 21eb403400
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437956
Change-Id: I5ea35dba3983dbc8d62c5dae6065139753b7a586
2020-09-29 01:20:24 +00:00
Sudarshan Rajagopalan
21eb403400
libpsi: Add explicit header files am: 8771e054e8 am: 41dc0274a3
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437956
Change-Id: I70265a45d7aed65c9341b91db8b26968a2de1fe2
2020-09-29 01:04:40 +00:00
Sudarshan Rajagopalan
41dc0274a3
libpsi: Add explicit header files am: 8771e054e8
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1437956
Change-Id: I7c68520392ec9aca5921dac5b372cbf011849800
2020-09-29 00:10:01 +00:00
Sudarshan Rajagopalan
c467601098
libpsi: Export library to vendor
...
Make vendor_available = true so that other modules in vendor image
can leverage this library to init, register and unregister to psi.
Bug: 169346507
Change-Id: I47f7d25984e09d61703e7b2bd6fcb8db9d3814f5
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
2020-09-28 14:51:09 -07:00
Sudarshan Rajagopalan
8771e054e8
libpsi: Add explicit header files
...
The libpsi source code is missing cutils and stdio header files.
Add cutils and stdio header files, and add libcutils_headers to
the header library in Android.bp.
Bug: 169346507
Change-Id: I2d613d5724d3c5f52dd52dcae7024439f2e8d5bb
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
2020-09-28 14:50:15 -07:00
Suren Baghdasaryan
b97c3ccdfb
[automerger skipped] lmkd: report kill reason, and meminfo details to statsd for each kill am: 140385d3a0 -s ours am: fb80cee5c6 -s ours
...
am skip reason: Change-Id Ic46aed3c85b880b32ac5ad61b55f90e0d33517c7 with SHA-1 3cc1f13044 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12590075
Change-Id: I377006cd5c900e46e2a7306acd9bbfa264df9300
2020-09-16 18:53:18 +00:00
Suren Baghdasaryan
fb80cee5c6
[automerger skipped] lmkd: report kill reason, and meminfo details to statsd for each kill am: 140385d3a0 -s ours
...
am skip reason: Change-Id Ic46aed3c85b880b32ac5ad61b55f90e0d33517c7 with SHA-1 3cc1f13044 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12590075
Change-Id: Ifde6aafa26f0af2d605a42cbf046d5a598818341
2020-09-16 16:52:06 +00:00
Suren Baghdasaryan
4a46fc210d
lmkd: report kill reason, and meminfo details to statsd for each kill am: 3cc1f13044 am: 595d1c19c7 am: f527dfc9df am: f50a9ebb36 am: 272c650dd3
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1424049
Change-Id: I779ed5e1ff805672df5de392548ba9c67e8b6b5f
2020-09-15 20:37:48 +00:00
Suren Baghdasaryan
140385d3a0
lmkd: report kill reason, and meminfo details to statsd for each kill
...
Information like free memory and swap as well as kill reason would be
useful for understanding regressions in the number of lmk kills in the
field.
Bug: 168117803
Test: statsd_testdrive 51, load with lmk_unit_test
Merged-In: Ic46aed3c85b880b32ac5ad61b55f90e0d33517c7
Change-Id: Ic46aed3c85b880b32ac5ad61b55f90e0d33517c7
2020-09-15 11:34:27 -07:00
Martin Liu
e271b2e0d0
[automerger skipped] lmkd: Fix do not kill perceptible apps due to low swap if above min wmark am: dfc73bc2fe am: f6dc513ad7 -s ours
...
am skip reason: Change-Id Ifc09c2a1fe7e21faa096988f471644f63951d81c with SHA-1 dfc73bc2fe is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11699841
Change-Id: Ic497f790472f9d3f38299957c1801371dcdcb738
2020-09-15 01:42:04 +00:00
Suren Baghdasaryan
cec9b28d69
[automerger skipped] lmkd: Do not kill perceptible apps due to low swap if above min wmark am: 7afa463978 am: b286ce5376 -s ours
...
am skip reason: Change-Id I6beb4b55f8b4f7bc22818b5a7bdfa3adc6cd31c1 with SHA-1 7afa463978 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11530606
Change-Id: I78567993487c791521c10a24979ea0119b9be276
2020-09-15 01:31:46 +00:00
Suren Baghdasaryan
f5eb70d918
lmkd: Set the default free swap threshold to 10% for all devices am: c2b228e498 am: f1fe0cd12c
...
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11530605
Change-Id: Ice078ca05303839f5b11e6322aa966ee94786b13
2020-09-15 00:50:04 +00:00
Suren Baghdasaryan
18790ab57b
lmkd: Fix min_score_adj to exclude killing foreground processes am: 0e589f61ba am: 1731180fcf
...
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11530604
Change-Id: I6f86c840d6ac5dad97762b6857284e91a1e62254
2020-09-15 00:34:43 +00:00
Suren Baghdasaryan
cb3ed61307
[automerger skipped] lmkd: Enable stricter compiler checks am: 5096d16091 am: eb6080bbdb -s ours
...
am skip reason: Change-Id Ia802dbd7abb167d66b76390e269e4a4418ca5def with SHA-1 5096d16091 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11547395
Change-Id: I98aad15d67c5a2e93a500121516cee57f381dfbf
2020-09-15 00:00:03 +00:00
Suren Baghdasaryan
470d39b81e
[automerger skipped] lmkd: Remove unused variables and fix type mismatches am: dd7ec447ab am: 9926488b3f -s ours
...
am skip reason: Change-Id I7f0839d803a6bf6532f077208ce54aba761dc9fe with SHA-1 dd7ec447ab is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11547394
Change-Id: Ie60c41a97035186bb9f691df473b9e0c541f1ebb
2020-09-15 00:00:01 +00:00
Suren Baghdasaryan
7a3fcae9f8
[automerger skipped] lmkd: enable ro.lmk.kill_timeout_ms to be used with kill notifications am: c7e51b7b2a am: 6a1b9fda36 -s ours
...
am skip reason: Change-Id Ia3eed3448fd6928a5e634c2737044722048b3578 with SHA-1 c7e51b7b2a is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11547393
Change-Id: I8fc2e4d70e5a33db8d367bba7f6948404b0b1c48
2020-09-14 23:59:59 +00:00
Suren Baghdasaryan
159430beb8
[automerger skipped] lmkd: polling code cleanup am: 3f84a211e5 am: 7753f8a530 -s ours
...
am skip reason: Change-Id If0674eda954a25f0f6c9188501ff77db8ba0813b with SHA-1 3f84a211e5 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/11547392
Change-Id: I2820f85488c8f6616eabb6f05d5b2c628497e5cb
2020-09-14 23:59:57 +00:00
Suren Baghdasaryan
272c650dd3
lmkd: report kill reason, and meminfo details to statsd for each kill am: 3cc1f13044 am: 595d1c19c7 am: f527dfc9df am: f50a9ebb36
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1424049
Change-Id: I68a21b58828399cebd58552870015974296e1445
2020-09-14 22:40:15 +00:00
Suren Baghdasaryan
f50a9ebb36
lmkd: report kill reason, and meminfo details to statsd for each kill am: 3cc1f13044 am: 595d1c19c7 am: f527dfc9df
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1424049
Change-Id: Ic7aee07c12f089aac0c41ee25389331b154d70f6
2020-09-14 21:56:11 +00:00
Suren Baghdasaryan
f527dfc9df
lmkd: report kill reason, and meminfo details to statsd for each kill am: 3cc1f13044 am: 595d1c19c7
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1424049
Change-Id: I243c0a670ba02cc0762d0ea7f664d91afede2d9a
2020-09-14 21:24:45 +00:00
Suren Baghdasaryan
595d1c19c7
lmkd: report kill reason, and meminfo details to statsd for each kill am: 3cc1f13044
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1424049
Change-Id: Ic70e756c0ac793414c68967a7fe13599da7b0d7d
2020-09-14 17:32:25 +00:00
Suren Baghdasaryan
3cc1f13044
lmkd: report kill reason, and meminfo details to statsd for each kill
...
Information like free memory and swap as well as kill reason would be
useful for understanding regressions in the number of lmk kills in the
field.
Bug: 168117803
Change-Id: Ic46aed3c85b880b32ac5ad61b55f90e0d33517c7
Test: statsd_testdrive 51, load with lmk_unit_test
2020-09-11 14:24:23 +01:00
Martin Liu
2d57fa30c5
[automerger skipped] lmkd: fix possible long stall state am: d816ab7c54 -s ours am: bb1a7d9b7a -s ours
...
am skip reason: Change-Id I10c65c85b718a656e3d8991bf09948b96da895cb with SHA-1 589b5752ee is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12526900
Change-Id: Id9e9795e2a4695ced316722a4292349ec4fc196d
2020-09-08 07:13:06 +00:00
Martin Liu
c137bc5895
[automerger skipped] lmkd: avoid division by zero because of file_base_lru am: 91bf598282 -s ours am: 74129d3d9e -s ours
...
am skip reason: Change-Id If19dbbaafe6cd28a9d5b7f8a002f3cd33daab5e7 with SHA-1 c3108416e7 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12526899
Change-Id: Id4f71df3b817a1d81cdcecaddae2586bf26641a3
2020-09-08 07:13:05 +00:00
Martin Liu
f761c01aeb
[automerger skipped] lmkd: adjust thrashing dection strategy am: 94d99a7bc8 -s ours am: 14009f3ba7 -s ours
...
am skip reason: Change-Id Ie9f4121ea604179c0ad510cc8430e7a6aec6e6b2 with SHA-1 1f72f5fa4b is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12465728
Change-Id: I75e6ae59a5a16aa6dab87d27aa4b80ec5717a542
2020-09-08 07:13:03 +00:00
Martin Liu
6a7f526ac6
Revert "lmkd: Add a margin for watermark when swap free is low" am: cd5f08d8ee am: 7a57924ce8
...
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12445404
Change-Id: Id0d8e4fa7f6753623be2a4322a53083083a7daa2
2020-09-08 07:13:01 +00:00
Martin Liu
bb1a7d9b7a
[automerger skipped] lmkd: fix possible long stall state am: d816ab7c54 -s ours
...
am skip reason: Change-Id I10c65c85b718a656e3d8991bf09948b96da895cb with SHA-1 589b5752ee is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12526900
Change-Id: I0ec6db70a9b5c69cb2fd463409f11f04639fca82
2020-09-08 06:51:00 +00:00
Martin Liu
74129d3d9e
[automerger skipped] lmkd: avoid division by zero because of file_base_lru am: 91bf598282 -s ours
...
am skip reason: Change-Id If19dbbaafe6cd28a9d5b7f8a002f3cd33daab5e7 with SHA-1 c3108416e7 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12526899
Change-Id: Ied58f07fa22194ca3a89017312140736c64c64f2
2020-09-08 06:50:56 +00:00
Martin Liu
14009f3ba7
[automerger skipped] lmkd: adjust thrashing dection strategy am: 94d99a7bc8 -s ours
...
am skip reason: Change-Id Ie9f4121ea604179c0ad510cc8430e7a6aec6e6b2 with SHA-1 1f72f5fa4b is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12465728
Change-Id: I6ff41029d3f4f4b153920101012454a513d1c375
2020-09-08 06:50:54 +00:00
Martin Liu
7a57924ce8
Revert "lmkd: Add a margin for watermark when swap free is low" am: cd5f08d8ee
...
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/12445404
Change-Id: I3056e7cf80a12a2245ce15cab325a9a6c75b006d
2020-09-08 06:50:53 +00:00
Martin Liu
d816ab7c54
lmkd: fix possible long stall state
...
If the first PSI event triggers a kill, lmkd won't resume polling
immediately after the process has died. Instead, it will wait until the
next PSI event to resume the polling which is too late when the device
is under memory pressure. This happens if data communication with AMS
happens after previous polling window expired, in which case paused
handler gets reset and polling does not resume after the kill.
Fix this by changing pause handler reset logic.
Bug: 167562248
Test: memory pressure test
Signed-off-by: Martin Liu <liumartin@google.com>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Merged-In: I10c65c85b718a656e3d8991bf09948b96da895cb
Change-Id: I10c65c85b718a656e3d8991bf09948b96da895cb
2020-09-07 10:46:16 +08:00
Martin Liu
91bf598282
lmkd: avoid division by zero because of file_base_lru
...
It seems we have chance that file_base_lru is zero.
Avoid it by adding 1.
Bug: 167660459
Bug: 163134367
Test: boot
Signed-off-by: Martin Liu <liumartin@google.com>
Merged-In: If19dbbaafe6cd28a9d5b7f8a002f3cd33daab5e7
Change-Id: If19dbbaafe6cd28a9d5b7f8a002f3cd33daab5e7
2020-09-07 10:43:24 +08:00
Martin Liu
94d99a7bc8
lmkd: adjust thrashing dection strategy
...
When a device is thrashing the file cache, workingset refaults can
grow slowly because of variant reasons. Current thrashing detection
mechanism could reset the thrashing counter frequently as it relies
on presence of reclaim activity, however refaults can keep increasing
even when the device is not actively reclaiming. In addition, the
thrashing counter gets reset when conditions require a kill but lmkd
could not find an eligible process to be killed. This is problematic
because when this happens thrashing is being ignored.
Use a fixed 1 sec periods to aggregate the thrashing counter. Also we
need to keep monitoring thrashing counter while retrying as someone
could release the memory to mitigate the thrashing. If thrashing
counter is greater than the limit at the end of the 1 sec period this
means lmkd failed to find an eligible process to kill. In this case
we store accumulated thrashing in case a new eligible process appears
until accumulated thrashing is less that the limit or we miss an
entire 1 sec window.
Bug: 163134367
Test: heavy loading launch
Signed-off-by: Martin Liu <liumartin@google.com>
Merged-In: Ie9f4121ea604179c0ad510cc8430e7a6aec6e6b2
Change-Id: Ie9f4121ea604179c0ad510cc8430e7a6aec6e6b2
2020-09-07 10:42:51 +08:00