Elliott Hughes
e2e125a69f
Don't define LINE_MAX. am: c2d8bfdf59
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3034232
Change-Id: I722fe4ed08a9e451be95620c86a364794388435a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-15 23:32:22 +00:00
Elliott Hughes
c2d8bfdf59
Don't define LINE_MAX.
...
It's a POSIX mistake we'd been avoiding, but finally added to
bionic.
It's unclear to me that this code shouldn't just be using fscanf()
and getline() to simplify the code and avoid arbitrary hard-coded
limits -- since the code does do some allocation already -- but
that's a bigger cleanup for a code owner.
Change-Id: Ibab28f082a084c1f933ee6a39aa4ee3fa7868e5a
2024-04-09 16:16:03 +00:00
Suren Baghdasaryan
7c2e756562
lmkd: update watermarks before the first kill am: 20de82dde2 am: af9d7fe055
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3028841
Change-Id: Ia56c0de5b28c9bff4d71390b33beb0f362b211bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 16:03:29 +00:00
Suren Baghdasaryan
af9d7fe055
lmkd: update watermarks before the first kill am: 20de82dde2
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3028841
Change-Id: Ib79f1d3fbcb08cb2b15e3861006e9806e5d94c52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 15:53:56 +00:00
Suren Baghdasaryan
20de82dde2
lmkd: update watermarks before the first kill
...
Change-Id: Ie8080fd8995c54fc8c1f5b94e77dbf32e33783fe
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-04-05 17:58:41 -07:00
Suren Baghdasaryan
5ef52d6f01
lmkd: introduce swap_compression_ratio tunable am: 63dd69984d am: 42dba7a8e0
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2620611
Change-Id: If85c22d8ca73941e3be74fe5a5e060a59c1482d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-05 05:23:34 +00:00
Suren Baghdasaryan
42dba7a8e0
lmkd: introduce swap_compression_ratio tunable am: 63dd69984d
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2620611
Change-Id: I8676ede74373fefa0f51896e8b31cedf7da88337
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-05 05:05:02 +00:00
Suren Baghdasaryan
63dd69984d
lmkd: introduce swap_compression_ratio tunable
...
Free swap is calculated using the min of free swap that kernel would
consider using and easily available memory which can be used by ZRAM
for swapping purposes. However calculation does not consider the
average data compression ratio of ZRAM. Introduce a tunable to set
the average swap compression ratio used when evaluating the amount
of data which can be swapped. Default is set to 1 (no compression)
to keep current behavior. Setting it to 0 will ignore available memory
and assume that configured swap size can be always utilized fully.
Bug: 285854307
Bug: 327561101
Change-Id: I6b0f93ce24179ebf7365a3dbcd52c6e4a52ac200
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-04-04 23:28:04 +00:00
Carlos Galo
1221249fe9
Adding kswapd state monitoring with memevent_listener am: 6593e2cee6 am: 49fa9d895e
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3025666
Change-Id: If644e45930a94618615e2c3aace72704ab06fe62
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-04 20:51:06 +00:00
Carlos Galo
49fa9d895e
Adding kswapd state monitoring with memevent_listener am: 6593e2cee6
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3025666
Change-Id: Id00cd93937e4c53128265e4171ccb361e156f66c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-04 20:33:50 +00:00
Carlos Galo
6593e2cee6
Adding kswapd state monitoring with memevent_listener
...
Replacing mechanism of reading vmstats to detect kswapd with
memevents instead. Maintain vmstats mechanism if bpf is not supported by
current kernel.
Test: Verified lmkd receives kswapd state changes
Test: m
Bug: 330606003
Change-Id: I9b980a8b94e015d1b8e0986fff9113890420d102
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-04-03 15:38:07 -07:00
Carlos Galo
270c38ddf7
Renaming direct reclaim monitoring to memevent monitoring am: f9dfb20456 am: f806a7d6a4
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3022599
Change-Id: I57f8129e563cc601970d75512bd6dbb82401dc74
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-03 19:02:58 +00:00
Carlos Galo
f806a7d6a4
Renaming direct reclaim monitoring to memevent monitoring am: f9dfb20456
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3022599
Change-Id: I77d2a7370cf0cf2d48ad6544cfb6ca3b8da332f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-03 18:45:11 +00:00
Carlos Galo
f9dfb20456
Renaming direct reclaim monitoring to memevent monitoring
...
This monitoring will no longer only track direct reclaim state changes.
Adjusting naming to reflect the broader utilization.
Test: m
Bug: 330606003
Change-Id: Ib77b8b58cd6e8ce1296ffa14481018c29e979754
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-04-03 00:19:26 -07:00
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