Suren Baghdasaryan
cee3c2d01e
Revert "lmkd: change default lowmem_min_oom_score for low-RAM devices" am: ee6412ebf0 am: 61adbf3b67
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3147096
Change-Id: I2ea9d2a9b877f966062fe9dee25e7e360f1b7ed0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-25 22:35:07 +00:00
Suren Baghdasaryan
61adbf3b67
Revert "lmkd: change default lowmem_min_oom_score for low-RAM devices" am: ee6412ebf0
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3147096
Change-Id: Id35e2263ddafe50b2f46b52011fcb7d0b96600cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-25 22:23:27 +00:00
Suren Baghdasaryan
ee6412ebf0
Revert "lmkd: change default lowmem_min_oom_score for low-RAM devices"
...
This reverts commit 686abc4e2b .
Reason for revert: regressing wear device tests
Bug: 349256852
Change-Id: I6c38c11dcad38bfba93609f476745513798c8e0b
2024-06-25 20:13:06 +00:00
Suren Baghdasaryan
14f5d615b5
lmkd: change default lowmem_min_oom_score for low-RAM devices am: 686abc4e2b am: c98f8bdf4d
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3123213
Change-Id: Id7c41a22d0d8f979348eec8cf972ddeba2b9c2e7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-24 17:45:31 +00:00
Suren Baghdasaryan
c98f8bdf4d
lmkd: change default lowmem_min_oom_score for low-RAM devices am: 686abc4e2b
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3123213
Change-Id: I55f5b0ce7457370c514bd2f0cba2a15d22c2e4b0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-24 17:25:33 +00:00
Suren Baghdasaryan
686abc4e2b
lmkd: change default lowmem_min_oom_score for low-RAM devices
...
Experiments on low-RAM devices indicate regressions due to the new low
memory kill reason which cause LMKD to kill too many processes. Change
ro.lmk.lowmem_min_oom_score to disable kills for this reason by default.
Bug: 341257415
Change-Id: Id7137c4c8d888061353b253dc6906d2854e31b1d
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-06-24 16:14:27 +00:00
Treehugger Robot
893827fb61
Merge "Fix format warning in direct reclaim length kill strategy" into main am: 3641d12083 am: e4d7e850a5
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3101418
Change-Id: Ife40736e38982b79f1c7169cb11826a1179cc642
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:43:21 +00:00
Treehugger Robot
e4d7e850a5
Merge "Fix format warning in direct reclaim length kill strategy" into main am: 3641d12083
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3101418
Change-Id: Ica2395ad87f98446c3c90aca8d31d11bde63c6f0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:35:09 +00:00
Carlos Galo
adc9429e80
Adding io_uring for batching PROCS_PRIO cmd am: af79337d51 am: a11f18de9f
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3081144
Change-Id: Ib2e1dc978230143226f0abb4e0dca386a8586005
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:26:01 +00:00
Carlos Galo
c7fb753102
Integration PROCS_PRIO cmd in lmkd am: 2f00c03379 am: dc126e3c57
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3056977
Change-Id: I493339842351c5380fa03ef60df858ee7ad9629d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:25:58 +00:00
Carlos Galo
e676be6b78
Splitting logic from cmd PROC_PRIO am: 19b5892ba8 am: baad4601eb
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3077890
Change-Id: I43d760b6e7dfa6aaab29da46f452a34cb0ddbc22
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:25:56 +00:00
Carlos Galo
0359abe3f7
liblmkd_utils: Adding get kill count interface am: 05e8c7bbda am: 3cd5c9cc3f
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3086709
Change-Id: I96e44c3bdc49c2cdda32bac211af65353e520f4b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:25:53 +00:00
Carlos Galo
a11f18de9f
Adding io_uring for batching PROCS_PRIO cmd am: af79337d51
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3081144
Change-Id: I7f8fe3846c8c7a59abec83666108c161044b1102
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:19:14 +00:00
Carlos Galo
dc126e3c57
Integration PROCS_PRIO cmd in lmkd am: 2f00c03379
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3056977
Change-Id: Id86823f585927ab8955613769790a543bd640219
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:19:11 +00:00
Carlos Galo
baad4601eb
Splitting logic from cmd PROC_PRIO am: 19b5892ba8
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3077890
Change-Id: I61bbe3fd7c7f6ed5c2273c6c0ffdbf796f630fdf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:19:03 +00:00
Carlos Galo
3cd5c9cc3f
liblmkd_utils: Adding get kill count interface am: 05e8c7bbda
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3086709
Change-Id: I680a62c5cfb274b6a0dec1f49edf6fa41ff4580d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-01 00:18:59 +00:00
Treehugger Robot
3641d12083
Merge "Fix format warning in direct reclaim length kill strategy" into main
2024-06-01 00:14:46 +00:00
Carlos Galo
af79337d51
Adding io_uring for batching PROCS_PRIO cmd
...
Integrate io_uring within LMKD to batch the read, and write, system
calls needed to process, and register, processes and adjust their OOM
scores.
Test: atest lmkd_tests
Bug: 325525024
Change-Id: I339be2b6f569189519e0e11d07cd6d7d1cf2566d
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-31 22:56:10 +00:00
Carlos Galo
2be06f4c78
Fix format warning in direct reclaim length kill strategy
...
Adjusting the string copy message to utiilize the correct format for
direct_reclaim_duration_ms.
Test: m
Bug: 244232958
Change-Id: I3fbfc33e2520ef38b829db67ddb59c636a2bc3e1
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-23 19:41:55 +00:00
Carlos Galo
2f00c03379
Integration PROCS_PRIO cmd in lmkd
...
Creating new cmd in LMKD to batch PROCPRIO requests.
Test: atest lmkd_tests
Bug: 325525024
Change-Id: I5460446d4e968e80263aa25298e2a893863eece4
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-23 17:42:38 +00:00
Carlos Galo
19b5892ba8
Splitting logic from cmd PROC_PRIO
...
Refactor cmd_procprio() to reuse its main functionality for bulk updates
later on.
Test: m
Bug: 295231583
Change-Id: Ic42de6e256b813349530f19a20e3ef9d484b20cf
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-21 23:05:28 +00:00
Carlos Galo
05e8c7bbda
liblmkd_utils: Adding get kill count interface
...
Add new API to fetch the current kill count from lmkd.
Test: m
Bug: 325525024
Change-Id: I9289be653444c8641cd5a698049835c3ac271b56
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-21 23:03:04 +00:00
Carlos Galo
1211db6082
Applying clang-format suggestions in PROCPRIO cmd am: 8b5a67d35a am: a0e25cea31
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3073186
Change-Id: I01f2fa6d135c929641ca1f0ac748537b5a473469
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 17:45:02 +00:00
Carlos Galo
f9421bdf21
Move register proc logic to prepare for new PROCS_PRIO cmd am: 7da353fb00 am: 4e801dde74
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3068766
Change-Id: I5ad9e36a6dcbbf3c216062a0a80345400ba3dbf0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 17:44:58 +00:00
Carlos Galo
a0e25cea31
Applying clang-format suggestions in PROCPRIO cmd am: 8b5a67d35a
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3073186
Change-Id: I6fa4416ef3df2d7c05abe12a9867994f9cf6adf7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 17:31:45 +00:00
Carlos Galo
4e801dde74
Move register proc logic to prepare for new PROCS_PRIO cmd am: 7da353fb00
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3068766
Change-Id: I51557dc843ecb7b2518049d5afa17a07e244c821
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 17:31:41 +00:00
Carlos Galo
8b5a67d35a
Applying clang-format suggestions in PROCPRIO cmd
...
Updating the cmd_procprio function with the clang-format suggestions. No logic changes.
Test: m
Bug: 325525024
Change-Id: Id6c1feb717259406d953e5e2a174398bccf65d23
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-03 17:02:10 +00:00
Carlos Galo
7da353fb00
Move register proc logic to prepare for new PROCS_PRIO cmd
...
Moving logic for registering proc, after oom adjustment, to its
own function. This work is for the introduction of the new
PROCS_PRIO cmd. This logic will be shared between the current PROCPRIO
and PROCS_PRIO cmd.
Test: m
Bug: 325525024
Change-Id: I0683f63faa3dfa2e4534cdfb8935b4d2f83a6af9
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-03 17:01:09 +00:00
Treehugger Robot
76dd55c72c
Merge "Replace PATH_MAX usages with smaller size" into main am: e1eb315723 am: 79b31d8bd1
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3072843
Change-Id: I5b55585b32621df49a260b35a68c84c494bc1b11
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 01:16:11 +00:00
Treehugger Robot
79b31d8bd1
Merge "Replace PATH_MAX usages with smaller size" into main am: e1eb315723
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3072843
Change-Id: I213c3f0ef714c337032d418d24b0b4811cfb0ef1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 00:47:25 +00:00
Treehugger Robot
e1eb315723
Merge "Replace PATH_MAX usages with smaller size" into main
2024-05-03 00:29:11 +00:00
Carlos Galo
eccbfe3256
Replace PATH_MAX usages with smaller size
...
All the PATH_MAX usages are used to store proc/<pid>/filename
information in lmkd. PATH_MAX is 4096, which is an overkill
of buffer sizes for their usage. Replace PATH_MAX with a smaller size.
Test: m
Bug: 325525024
Change-Id: If6d500102fca532a8afc331d0c847675d6e9e96f
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-05-03 00:28:02 +00:00
Suren Baghdasaryan
5dcbbbbbb1
Merge "lmkd: introduce lowmem_min_oom_score tunable" into main am: fcb1b8a339 am: f7436e9054
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3061523
Change-Id: Ie19d22e5e7cbc7f76929ab61808f50c5b2562e2b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-30 20:41:04 +00:00
Suren Baghdasaryan
f7436e9054
Merge "lmkd: introduce lowmem_min_oom_score tunable" into main am: fcb1b8a339
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3061523
Change-Id: I915bb63cbd4d99b41d8ff752f9bbfb9378cd6930
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-30 20:26:54 +00:00
Suren Baghdasaryan
fcb1b8a339
Merge "lmkd: introduce lowmem_min_oom_score tunable" into main
2024-04-30 20:08:35 +00:00
Lakshman Annadorai
c4d3f30a83
Update init_psi_monitor to include MEMORY/IO/CPU resources. am: d872253483 am: 1868632e37
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3050182
Change-Id: I77c41a13aa8a22c445ea8499d4ed20bb6a9a8a0d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-30 19:20:03 +00:00
Suren Baghdasaryan
3dc50798a3
lmkd: introduce lowmem_min_oom_score tunable
...
Current lmkd behavior to kill cached apps when free memory hits low
watermark threshold does not work well on certain devices where more
or less aggressive behavior would yield better results. Introduce a
tunable to control the min oom_score_adj level at which lmkd considers
to kill processes when the system gets into this state. The default
value is set to 701 which preserves the current behavior of killing
cached apps except for the last active one. Setting it to lower values
will make more processes eligible to be killed, setting it to higher
values will limit the kills to a smaller set of processes. Setting it
to 1001 will prevent any process from being killed for this reason.
Bug: 334867461
Bug: 337063274
Change-Id: I1447436e0a0cd1e696b34d2c06b92ff73a5100a9
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-04-30 12:05:14 -07:00
Lakshman Annadorai
1868632e37
Update init_psi_monitor to include MEMORY/IO/CPU resources. am: d872253483
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3050182
Change-Id: I86b3f3c4c1fc7aa4acdeb0fe3afb4797d2f88795
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-30 19:01:20 +00:00
Lakshman Annadorai
d872253483
Update init_psi_monitor to include MEMORY/IO/CPU resources.
...
Update the init_psi_monitor API to monitor MEMORY, IO, and CPU
resources.
Test: m libpsi
Bug: 335872571
Change-Id: Ieae8c98be0e6353a1d0ca0728c84bcf1897b259c
2024-04-29 13:25:50 -07:00
Treehugger Robot
fbe62d8007
Merge "Migrate Test Targets to New Android Ownership Model" into main am: 02de7905e5 am: 91aeaf6284
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2946238
Change-Id: I031a527ff58fad00a868a7706bcd152b0fca37ca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-22 17:42:17 +00:00
Treehugger Robot
91aeaf6284
Merge "Migrate Test Targets to New Android Ownership Model" into main am: 02de7905e5
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2946238
Change-Id: Ia27c91f14b0fb2faffa5ef3f614b284f534a3478
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-22 16:47:37 +00:00
Treehugger Robot
02de7905e5
Merge "Migrate Test Targets to New Android Ownership Model" into main
2024-04-22 16:20:30 +00:00
Elliott Hughes
a3befe34f4
Don't define LINE_MAX. am: c2d8bfdf59 am: e2e125a69f
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3034232
Change-Id: Ib84533ed10973ace1190597de7a12019ec7c59fb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-15 23:43:12 +00:00
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