Divyanand Rangu
534bf94822
lmkd: fix higher event being reset by lower and polling start am: c7eca43006
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3322634
Change-Id: I4056be703d748fe559b0f41cdeec20cd790d4b6f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-11-19 01:34:02 +00:00
Divyanand Rangu
c7eca43006
lmkd: fix higher event being reset by lower and polling start
...
When both Medium and Critical events occur at same time,
depending on how the events are queued, the later event
resets the former event.
We'd want the subsequent polling (till next event is triggered)
to happen with higher event.
So, it is fine if Critical event overrides Medium, but not other
way around.
Let's see below scenario where both Medium and Critical events
occur (at T0) and handled one after other
T0: critical event handled.
T0 + 2ms: medium event handled.
T0 + 102ms: medium event polling check. //This should be critical poll
Bug: 376003899
Change-Id: I16ff3b999d7531435324a628ac17968fd4cae8cf
2024-11-06 23:37:41 +05:30
Xin Li
1bea3fe953
Mark 24Q4 as merged in aosp-main-future
...
Bug: 373937381
Merged-In: I5f002ab4b6968aceacf342e0424a4b0e3dc260e9
Change-Id: I5e5ba692fc340f3c5633b73803c79ce59d0b7fc6
2024-10-17 11:03:40 -07:00
Jaskaran Singh
811f97adba
lmkd: Ensure node stats are being parsed am: f32fe4d7d3
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2719093
Change-Id: I55a7f2f4aaf07fd589fac07cf5bbdd06485c6c97
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-17 07:57:22 +00:00
Jaskaran Singh
f32fe4d7d3
lmkd: Ensure node stats are being parsed
...
The kernel will print node stats within the first populated zone in the
zoneinfo file. The LMKD tries parsing node stats when it reads the first
"Node %d, zone %8s" line in zoneinfo.
However if the first zone is empty, LMKD could iterate over to the next
populated zone i.e. the next "Node %d, zone %8s" line while attempting
to read node stats. It thus reads the incorrect zone name for this next
zone.
To fix this, ensure whether node stats are indeed being parsed by
checking for the " per node-stats" line.
Bug: 292476676
Change-Id: I72cd111dac9032de506e1ab7f1c4dc96585a1e80
Signed-off-by: Jaskaran Singh <quic_jasksing@quicinc.com>
2024-10-16 15:36:51 +00:00
Suren Baghdasaryan
b018e55b7b
lmkd: fix handling of EPOLLHUP for pidfd am: 667fdbfe92
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3268491
Change-Id: I5269030e5878ed1ed1c3926dc9e73411a5a1c7a3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-26 09:09:02 +00:00
Suren Baghdasaryan
667fdbfe92
lmkd: fix handling of EPOLLHUP for pidfd
...
Recent kernel change [1] cause pidfd_wait() to receive EPOLLHUP when the
task exits. Current LMKD implementation expects to receive EPOLLHUP only
when socket connection gets dropped, therefore it gets confused by this
new kernel behavior. Adjust LMKD handling of EPOLLHUP to detect the case
when this event is generated by pidfd.
[1] https://lore.kernel.org/all/20240202131226.GA26018@redhat.com/
Bug: 352286227
Change-Id: Ibcf349ee3cc73551541d64975f0292d53c41d5c2
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-09-13 23:43:47 +00:00
David Stevens
7dff130d87
lmkd: Add hook for when there are no killable processes am: d256df3c5f am: 1683221f0d
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3249594
Change-Id: Ica82748265304f240cff3e2dc570fa12e9db4ac1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-29 15:50:21 +00:00
David Stevens
1683221f0d
lmkd: Add hook for when there are no killable processes am: d256df3c5f
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3249594
Change-Id: I3d133ae960273e3063bc634222dc0bd1c66a47a3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-29 15:42:51 +00:00
David Stevens
d256df3c5f
lmkd: Add hook for when there are no killable processes
...
Add a hook that is invoked when there are no killable processes at any
priority. This allows ARCVM to send VMMMS's no kill candidates message,
which prevents thrashing without having to wait on a balloon stall.
Bug: 362383831
Test: cq
Change-Id: Iffb680a78025bd201932bd805ceeecfe07b1fac9
2024-08-29 15:15:07 +09:00
Carlos Galo
a54cb7c846
Revert "Adding io_uring for batching PROCS_PRIO cmd" am: 4c589f32f5 am: 760b3e2d40
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3226117
Change-Id: I3e5be93395a015ee19d79eacbbc3f315fd955626
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-20 21:44:50 +00:00
Carlos Galo
760b3e2d40
Revert "Adding io_uring for batching PROCS_PRIO cmd" am: 4c589f32f5
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3226117
Change-Id: Iffc6645ab76aad003852d003eceebfe0ed047602
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-20 06:54:03 +00:00
Carlos Galo
4c589f32f5
Revert "Adding io_uring for batching PROCS_PRIO cmd"
...
Revert submission 3038159-lmkd-procs-prio-cmd
Reason for revert: Reverting io_uring integration due to performance findings (b/360770761)
Reverted changes: /q/submissionid:3038159-lmkd-procs-prio-cmd
Test: atest lmkd_tests
Change-Id: I4a504a11d8daf2d056225dab630492dde51dda53
2024-08-19 08:20:14 +00:00
Suren Baghdasaryan
2606f9849b
lmkd/tests: add 200ms wait for reaper to output its logs am: 753642e31a am: cad7196508
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3134321
Change-Id: I5e0ecf5684489208d36f1bb93f8a3b159077ebfa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 21:24:46 +00:00
Suren Baghdasaryan
f7b4db5219
lmkd/tests: handle kill reports being confused with reap reports am: 13b5b0ce06 am: 72c26015dd
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3134320
Change-Id: I5db5a175f9fdec7c5b1d48c21148c7f7bf3fc7ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 21:24:43 +00:00
Suren Baghdasaryan
cad7196508
lmkd/tests: add 200ms wait for reaper to output its logs am: 753642e31a
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3134321
Change-Id: I935c673210c05961ac121faf707adc4f174cd64e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 21:01:19 +00:00
Suren Baghdasaryan
72c26015dd
lmkd/tests: handle kill reports being confused with reap reports am: 13b5b0ce06
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3134320
Change-Id: I5dc709c99cf789242aad16b7902f714bdb5cec51
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 21:01:14 +00:00
Suren Baghdasaryan
753642e31a
lmkd/tests: add 200ms wait for reaper to output its logs
...
Occasionally the test reads logcat before lmkd reaper had a chance to
write into it, resulting in the expected report messages being missed.
Add a 200ms delay after lmkd kills the process to give lmkd reper thread
more time to write its reports.
Bug: 347296675
Bug: 358830454
Test: atest lmkd_tests
Change-Id: I2549e37f25c81c9add91f7ee450c4a96c8cf18e4
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-08-12 19:03:09 +00:00
Suren Baghdasaryan
13b5b0ce06
lmkd/tests: handle kill reports being confused with reap reports
...
The starting line for kill and reap reports are the same. Add additional
logic in the test to distinguish between them and retry if a kill report
is found.
Bug: 347296675
Bug: 358830454
Test: mock the input data where lmkd_tests failed
Change-Id: Idf83831e45e6682c1dfb6cde258d4ec631a5eb32
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2024-08-12 19:02:49 +00:00
Christopher Ferris
a818a565ff
Remove unused variable. am: b1d5c43490 am: ff8b8464d1
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3208315
Change-Id: I2f62da5664d711a6e055b2ec6f4feacfc4532050
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-07 02:22:19 +00:00
Christopher Ferris
ff8b8464d1
Remove unused variable. am: b1d5c43490
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3208315
Change-Id: I75e856a6b7deafd46c86faa6b420af156d8136a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-07 02:08:51 +00:00
Christopher Ferris
b1d5c43490
Remove unused variable.
...
Test: treehugger
Change-Id: I07fe4a36004bdb12e80990f9d9c61a051140e263
2024-08-04 03:39:29 +00:00
Carlos Galo
2e78891823
Report up-to-date RSS in LMK_PROCKILL cmd am: 1e50c6ecc4 am: 36f19297e5
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3164830
Change-Id: I5c7920d074c8c984595098b077fac2f58ca89803
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-24 20:22:21 +00:00
Carlos Galo
36f19297e5
Report up-to-date RSS in LMK_PROCKILL cmd am: 1e50c6ecc4
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3164830
Change-Id: I332814b281f325512639d22aa8f8c91ce35f4808
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-24 20:08:05 +00:00
Carlos Galo
1e50c6ecc4
Report up-to-date RSS in LMK_PROCKILL cmd
...
Add RSS field, in LMK_PROCKILL cmd, to report the latest memory usage of
the killed process.
Test: Verified RSS field is captured in ApplicationExitInfo
Bug: 322549716
Change-Id: Ic1788e8121da97cd879bd7e9d685c7b879ea5475
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2024-07-22 20:42:22 +00:00
Treehugger Robot
540ed179a7
Merge "Remove usage of BPF_FD_JUST_USE_INT in favor of unique_fd" into main am: 0aeff477af am: 8e4290acac
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3133997
Change-Id: I1d6c3e4db93f4b5c21548fecabdd193a5b3e2d61
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-12 21:37:00 +00:00
Treehugger Robot
8e4290acac
Merge "Remove usage of BPF_FD_JUST_USE_INT in favor of unique_fd" into main am: 0aeff477af
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3133997
Change-Id: I0c20e77d2245d0cf7d1e598ee199b48aa16da276
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-12 21:14:46 +00:00
Treehugger Robot
0aeff477af
Merge "Remove usage of BPF_FD_JUST_USE_INT in favor of unique_fd" into main
2024-07-12 20:56:03 +00:00
Martin Liu
573cc5af1b
lmkd: handle missing process' information case am: d10742025b am: eec2abfee7
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3150836
Change-Id: Ibf44e7ba338eea663b0c35d77c49c3e2d8679a3e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-27 22:07:16 +00:00
Martin Liu
eec2abfee7
lmkd: handle missing process' information case am: d10742025b
...
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3150836
Change-Id: I7f88bfcf140e538e0a521980b9632f36477dedf6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-27 21:51:34 +00:00
Martin Liu
d10742025b
lmkd: handle missing process' information case
...
When we get nothing from /proc/<PID>/status and /proc/<PID>/cmdline,
we should return NULL or False because this usually indicates the
process has already terminated. We should avoid attempting
to kill a non-existent process, as it's an unnecessary waste
of kill timeout.
Bug: 331612600
Test: give memory pressure to trigger LMKD
Change-Id: I468ff25012f9bb6fc842a7fad268ebcad0de4690
Signed-off-by: Martin Liu <liumartin@google.com>
2024-06-27 15:17:05 +00:00
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
Patrick Rohr
e15214ea24
Remove usage of BPF_FD_JUST_USE_INT in favor of unique_fd
...
We are trying to remove BPF_FD_JUST_USE_INT since we now have access to
libbase everywhere.
Test: builds
Change-Id: Ie9445d3d648e6837deb718aa38ebef3c936653d6
2024-06-14 14:55:36 -07: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