Commit Graph

1638 Commits

Author SHA1 Message Date
Carlos Galo 99bfdc912b Add boot completed cmd to LMKD am: 65c1b5dcc5 am: 6a9574526a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3017682

Change-Id: I26c3a0d52f32813ab6894e5d7a6a41e4c39f7ce9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-03 00:30:47 +00:00
Carlos Galo 6a9574526a Add boot completed cmd to LMKD am: 65c1b5dcc5
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3017682

Change-Id: I357c44a68f97608d7f9be1d567a417315209430b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-03 00:15:41 +00:00
Carlos Galo 65c1b5dcc5 Add boot completed cmd to LMKD
Add new command to allow for post-boot actions to occur. This
will allow for the MemEventListener to start after the BPF files are
loaded, removing the need to stall during boot-up until they are loaded
in the device.

Test: Verified memevent listener initialized post-boot
Test: Verified LMKD no longer stalls until BPF progs are loaded
Bug: 331008250
Bug: 244232958
Change-Id: I55f97b41349ea7693cff81b1170d33712b820292
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-04-02 22:25:36 +00:00
Carlos Galo 963fdf1dc0 lmkd: Introduce kill strategy based on direct reclaim length am: 81a7c21087 am: ed5f6f9c6b
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2959942

Change-Id: I01ab5f59c7e32d5ff944bcc5111c0e4e4bdd9cf7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-26 20:47:54 +00:00
Carlos Galo ed5f6f9c6b lmkd: Introduce kill strategy based on direct reclaim length am: 81a7c21087
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2959942

Change-Id: Ic643aaf44e45f21b941deeebdcf674c2591e88c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-26 20:33:12 +00:00
Carlos Galo 81a7c21087 lmkd: Introduce kill strategy based on direct reclaim length
Add kill reason for when the device is stuck in direct reclaim for
longer than the configurable threshold. Only allow configurable
threshold, and direct reclaim stuck detection, if memevents direct
reclaim monitoring is enabled.

Test: Verified direct reclaim stuck kill log with memory pressure test
Test: m
Bug: 244232958
Change-Id: I1156899874d2eb7e0f4b61597741087c110b3414
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-03-22 16:21:30 -07:00
Carlos Galo 02f2386694 Adding direct reclaim state monitoring am: 9e136285a6 am: 696456889a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3001286

Change-Id: I9213f66c6289856f4f0da5b0971813b0680979d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-21 06:35:38 +00:00
Carlos Galo 696456889a Adding direct reclaim state monitoring am: 9e136285a6
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3001286

Change-Id: Ifcf98d8422445dab92b1e24be004056e6871bcb5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-21 06:25:30 +00:00
Carlos Galo 9e136285a6 Adding direct reclaim state monitoring
Replacing mechanism of reading vmstats to detect direct reclaim with
memevents instead. Maintain vmstats mechanism if bpf ring buffer is not
supported by current kernel.

Test: Verified lmkd receives direct reclaim state changes
Test: m
Bug: 244232958
Change-Id: I59ee7657da1240355d611dfa129c4d50bed2c330
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-03-20 06:46:04 +00:00
Aditya Choudhary b749603ac4 Migrate Test Targets to New Android Ownership Model
This CL is created as a best effort to migrate test targets to the new Android ownership model.
It is based on historical data from repository history and insights from git blame.
Given the nature of this effort, there may be instances of incorrect attribution. If you find incorrect or unnecessary
attribution in this CL, please create a new CL to fix that.

For detailed guidelines and further information on the migration please refer to the link below,
go/new-android-ownership-model

Bug: 304529413
Test: N/A
Change-Id: I6f597ed681e95367a641a69ff2ec4b69c5087f18
2024-02-02 13:59:15 +00:00
Suren Baghdasaryan f8bae6fed3 [automerger skipped] lmkd: Kill cached apps when thrashing or below low watermark am: d1968032a2 -s ours am: 3fff5c5850 -s ours
am skip reason: Merged-In I356eac1fe6d44dad292a7ea2fadee69a5be61479 with SHA-1 0ac96fcb1a is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/24948168

Change-Id: Ia2bd9c7e9d32405ef7bce6ede4d6a6f4169ff269
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 04:40:53 +00:00
Suren Baghdasaryan 3fff5c5850 [automerger skipped] lmkd: Kill cached apps when thrashing or below low watermark am: d1968032a2 -s ours
am skip reason: Merged-In I356eac1fe6d44dad292a7ea2fadee69a5be61479 with SHA-1 0ac96fcb1a is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/24948168

Change-Id: I541d20e637cb1b9bd242c029dd31b8f18677e3e4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 04:10:13 +00:00
Suren Baghdasaryan d1968032a2 lmkd: Kill cached apps when thrashing or below low watermark
With Android U removing AMS kills, lmkd has additional duty to kill
cached apps which previously were killed by AMS. The former logic is
not proactive enough and leads to too many cached apps contributing
to memory pressure.
Implement additional logic to kill cached apps (excluding previous
foreground apps) when low watermark is breached or when device is
thrashing.

Bug: 300660611
Change-Id: I356eac1fe6d44dad292a7ea2fadee69a5be61479
Merged-In: I356eac1fe6d44dad292a7ea2fadee69a5be61479
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-12-18 10:28:54 +00:00
Matt Stephenson d537478999 add min score option to PRESSURE_AFTER_KILL am: 18578a55d0 am: 3fe819c85f am: 9ae8f1fd20
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2868426

Change-Id: I4872f7576447a460737107e9cebf5c131dff4a40
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-12 02:07:48 +00:00
Matt Stephenson 9ae8f1fd20 add min score option to PRESSURE_AFTER_KILL am: 18578a55d0 am: 3fe819c85f
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2868426

Change-Id: I843f99dc21bc34e719a979b2b616a54ab6dba1c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-12 01:35:21 +00:00
Matt Stephenson 3fe819c85f add min score option to PRESSURE_AFTER_KILL am: 18578a55d0
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2868426

Change-Id: I4784e9fd8ebec9c72ceb7d642ca5aba0ff16dc5b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-12 01:03:37 +00:00
Matt Stephenson 18578a55d0 add min score option to PRESSURE_AFTER_KILL
Adjust lmk cycle after kill to honor an optional min score.

Test: cycle after kill under mem pressure honors specified score
Bug: 309380316
Change-Id: I9ab8e29b58846cc291acb2834638ddf7a7759eca
Signed-off-by: Matt Stephenson <stephensonmatt@google.com>
2023-12-11 22:35:50 +00:00
T.J. Mercier 057fa9419e Merge "Use correct language for cgroups" into main am: e2288909ab am: 6ed1a5b77e am: aa660a7aad
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2808358

Change-Id: I0ee2d3ba73414e85c4107ca50ed6d9b146d44848
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-06 23:23:24 +00:00
T.J. Mercier 092c1d13b1 Merge "Use correct language for cgroups" into main am: e2288909ab am: 5789f8506a am: 29def1fcfc
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2808358

Change-Id: I3e35a799bcb46c8398e3dc5f79373bb910baa4b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-06 23:22:20 +00:00
T.J. Mercier aa660a7aad Merge "Use correct language for cgroups" into main am: e2288909ab am: 6ed1a5b77e
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2808358

Change-Id: Ie20d35e98c403e914dcdbfeeb0cd754c1731fef9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-06 22:42:11 +00:00
T.J. Mercier 29def1fcfc Merge "Use correct language for cgroups" into main am: e2288909ab am: 5789f8506a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2808358

Change-Id: I5a05c37886cab740ce76cdbf15433a3cd2d8f908
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-06 22:39:05 +00:00
T.J. Mercier 6ed1a5b77e Merge "Use correct language for cgroups" into main am: e2288909ab
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2808358

Change-Id: I9508fa6a0eef439cab54667a10be5bed3e52ee2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-06 22:11:32 +00:00
T.J. Mercier 5789f8506a Merge "Use correct language for cgroups" into main am: e2288909ab
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2808358

Change-Id: I00fe3cb6598194a1e4f546ff8d9438a1b4c9e017
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-06 22:09:36 +00:00
T.J. Mercier e2288909ab Merge "Use correct language for cgroups" into main 2023-11-06 21:44:18 +00:00
Suren Baghdasaryan 54b91ae428 lmkd: Add new low memory kill reason am: 9e4d3ad1a2 am: 5cb0c07d1e am: 12d1316648
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2813556

Change-Id: I7bc7a519102183a9f6c42a283d51c3e059e62824
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 19:28:21 +00:00
Suren Baghdasaryan 18c28de8ca lmkd: Add new low memory kill reason am: 9e4d3ad1a2 am: 1e5e5f617b am: fcc43fc968
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2813556

Change-Id: I9eb8fd7ce4604276394fb7cf4e93ad5e1688e40e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 19:27:04 +00:00
Suren Baghdasaryan 12d1316648 lmkd: Add new low memory kill reason am: 9e4d3ad1a2 am: 5cb0c07d1e
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2813556

Change-Id: Id1382b754dbb20e6d9b6a2192942ad0a1af92801
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:17:38 +00:00
Suren Baghdasaryan fcc43fc968 lmkd: Add new low memory kill reason am: 9e4d3ad1a2 am: 1e5e5f617b
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2813556

Change-Id: Ibfb69e8edd45bea720487af21eddf626b054e069
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:15:03 +00:00
Suren Baghdasaryan 5cb0c07d1e lmkd: Add new low memory kill reason am: 9e4d3ad1a2
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2813556

Change-Id: Ia3f72cbd94fdaf0daa1f4d0d274224ba5b0f38b2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 17:48:20 +00:00
Suren Baghdasaryan 1e5e5f617b lmkd: Add new low memory kill reason am: 9e4d3ad1a2
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2813556

Change-Id: Id975b5fbe66fea3f37c9a7551c021449d152d6b2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 17:46:47 +00:00
Suren Baghdasaryan 9e4d3ad1a2 lmkd: Add new low memory kill reason
Add kill reason for a cached app kill when free memory is under low
watermark.

Bug: 306755741
Change-Id: Idf92da326f6e0990e6d9fd9acdd21b19f6bdd241
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-10-31 13:02:55 -07:00
T.J. Mercier c2b250bb7e Use correct language for cgroups
Refer to cgroups and the cgroup hierarchy by their correct names.

Bug: 301871933
Change-Id: Ibe65900812e1de3b60f5b7104ae2c9a02a3f8a8c
2023-10-27 18:12:06 +00:00
Suren Baghdasaryan 4ca00fe122 lmkd: Kill cached apps when thrashing or below low watermark am: 0ac96fcb1a am: 525a34e894 am: cef23553e6 am: 2522d30cf5 am: e08a4be700
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2781208

Change-Id: I0b7461f412ad69016378f0d49f273204ef967fe3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-12 00:19:57 +00:00
Suren Baghdasaryan e08a4be700 lmkd: Kill cached apps when thrashing or below low watermark am: 0ac96fcb1a am: 525a34e894 am: cef23553e6 am: 2522d30cf5
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2781208

Change-Id: I79518516d625a075eec7cf94066b8134c4755b9f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 23:31:52 +00:00
Suren Baghdasaryan 2522d30cf5 lmkd: Kill cached apps when thrashing or below low watermark am: 0ac96fcb1a am: 525a34e894 am: cef23553e6
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2781208

Change-Id: Ida941b9333d3775bb09cfe8aed6298c7d0df4dff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 22:46:34 +00:00
Suren Baghdasaryan cef23553e6 lmkd: Kill cached apps when thrashing or below low watermark am: 0ac96fcb1a am: 525a34e894
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2781208

Change-Id: I25639c76530340e7f7f3f1153ea818622dfb330e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 22:13:05 +00:00
Suren Baghdasaryan 525a34e894 lmkd: Kill cached apps when thrashing or below low watermark am: 0ac96fcb1a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2781208

Change-Id: I9cce23bf709119471fafdc4f28d3b38e3841a57d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 21:41:10 +00:00
Suren Baghdasaryan 0ac96fcb1a lmkd: Kill cached apps when thrashing or below low watermark
With Android U removing AMS kills, lmkd has additional duty to kill
cached apps which previously were killed by AMS. The former logic is
not proactive enough and leads to too many cached apps contributing
to memory pressure.
Implement additional logic to kill cached apps (excluding previous
foreground apps) when low watermark is breached or when device is
thrashing.

Bug: 300660611
Change-Id: I356eac1fe6d44dad292a7ea2fadee69a5be61479
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-10-10 15:52:24 -07:00
Suren Baghdasaryan 00321c0fdf lmkd/tests: handle reordering of killing and reaping reports in the logs am: ec169b178a am: 0c737485a5 am: 4616be7cc8 am: a39f4e42b4 am: b35fb6b96d
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776707

Change-Id: I1d9130364a00f2c20ee9b4f143ed68bec12de981
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 01:51:02 +00:00
Suren Baghdasaryan 9cfae5f47b lmkd/tests: do not fail when occasionally reaping time is reported as 0 am: 90c4e26b9f am: 770c130e07 am: 361e23c48a am: c405cc646e am: f6735b0b3a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776306

Change-Id: I2aa940705d9ebba77f7f27cd415f4a0e02c501a2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 01:51:00 +00:00
Suren Baghdasaryan b35fb6b96d lmkd/tests: handle reordering of killing and reaping reports in the logs am: ec169b178a am: 0c737485a5 am: 4616be7cc8 am: a39f4e42b4
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776707

Change-Id: If15ae77608b32e83b8792a40132b70721bbb157f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 01:18:19 +00:00
Suren Baghdasaryan f6735b0b3a lmkd/tests: do not fail when occasionally reaping time is reported as 0 am: 90c4e26b9f am: 770c130e07 am: 361e23c48a am: c405cc646e
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776306

Change-Id: Ie37d171ef62afe4c93a24b70b0b9aa3d05dd4da8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 01:18:15 +00:00
Suren Baghdasaryan a39f4e42b4 lmkd/tests: handle reordering of killing and reaping reports in the logs am: ec169b178a am: 0c737485a5 am: 4616be7cc8
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776707

Change-Id: Ia6e364eef3daaec37cb00579bbc810a6789375f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 00:48:19 +00:00
Suren Baghdasaryan c405cc646e lmkd/tests: do not fail when occasionally reaping time is reported as 0 am: 90c4e26b9f am: 770c130e07 am: 361e23c48a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776306

Change-Id: I1b9743ce2485d7ea38f1df68b3bbb812d41b2010
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 00:48:17 +00:00
Suren Baghdasaryan 4616be7cc8 lmkd/tests: handle reordering of killing and reaping reports in the logs am: ec169b178a am: 0c737485a5
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776707

Change-Id: I895bd748f335d95ad21a0aaaf89295f4744cef99
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 00:15:13 +00:00
Suren Baghdasaryan 361e23c48a lmkd/tests: do not fail when occasionally reaping time is reported as 0 am: 90c4e26b9f am: 770c130e07
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776306

Change-Id: If884f01d61f86b8f3427b80d96ac01c16a993606
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 00:15:10 +00:00
Suren Baghdasaryan 0c737485a5 lmkd/tests: handle reordering of killing and reaping reports in the logs am: ec169b178a
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776707

Change-Id: Ic80b2c411f7ddbf108c59a96c38b4d7fd15d34ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 23:41:38 +00:00
Suren Baghdasaryan 770c130e07 lmkd/tests: do not fail when occasionally reaping time is reported as 0 am: 90c4e26b9f
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2776306

Change-Id: I063e7b3a7dd3829bb5219133e689af89522cd685
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 23:41:36 +00:00
Suren Baghdasaryan ec169b178a lmkd/tests: handle reordering of killing and reaping reports in the logs
Since killing and reaping of a process is done in separate threads, it's
possible that the reaping report will be ordered before the kill report.
Adjust the test to handle this case by checking for the reaping report
in the entire log output.

Bug: 296555636
Change-Id: I5549b05392e08655655d4aecc4fadec281c489af
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-10-05 21:34:54 +00:00
Suren Baghdasaryan 90c4e26b9f lmkd/tests: do not fail when occasionally reaping time is reported as 0
In rare cases the process reaping time is short enough that it is
reported as 0. Prevent the test from failing in this rare case.

Bug: 296555636
Change-Id: I8484958eb9561ba345008195be8b6a7bd94e9ef3
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-10-05 21:34:38 +00:00