Commit Graph

555 Commits

Author SHA1 Message Date
Suren Baghdasaryan 8fa0ac5c64 lmkd: Remove unused variables and fix type mismatches am: ed715a3424
Change-Id: Ibcce20a6b9d724e102740683df45a16a0dfb3708
2020-05-12 19:19:53 +00:00
Suren Baghdasaryan e538ba2df6 lmkd: Enable stricter compiler checks
Enable -Wall and -Wextra compiler flags to catch compilation warnings.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ia802dbd7abb167d66b76390e269e4a4418ca5def
2020-05-12 02:56:41 +00:00
Suren Baghdasaryan ed715a3424 lmkd: Remove unused variables and fix type mismatches
Fix compilation warnings by removing unused variables and add typecasting
whenever mixed type comparisons are performed.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I7f0839d803a6bf6532f077208ce54aba761dc9fe
2020-05-11 19:52:52 -07:00
Suren Baghdasaryan 350685e461 [automerger skipped] lmkd: Add property re-initialization support am: c4081918a7 -s ours
am skip reason: Change-Id Ic60331f3368f5a7fdfe09ad7d47c7ccf0a497685 with SHA-1 1d0ebeaa9c is in history

Change-Id: Ia0eb7d23137c74f72b251034902fd0ed9faf8a28
2020-05-08 17:40:35 +00:00
Suren Baghdasaryan c4081918a7 lmkd: Add property re-initialization support
Add --reinit command-line option to allow updating lmkd properties. For
example to enable debug logging in the running lmkd process user should
issue:

setprop ro.lmk.debug true
lmkd --reinit

Bug: 155149944
Test: lmkd_unit_test after resetting lmkd properties
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Merged-In: Ic60331f3368f5a7fdfe09ad7d47c7ccf0a497685
Change-Id: Ic60331f3368f5a7fdfe09ad7d47c7ccf0a497685
2020-05-07 09:46:42 -07:00
Suren Baghdasaryan 2a5c69f8ee lmkd: Add property re-initialization support am: 1d0ebeaa9c am: 4434ef0223
Change-Id: I06dcc993601d96ae61a233f3f6538ce9d2062221
2020-05-07 16:14:55 +00:00
Suren Baghdasaryan 4434ef0223 lmkd: Add property re-initialization support am: 1d0ebeaa9c
Change-Id: I0d29bf11bb96a7b97174a0def2753ea169835802
2020-05-07 16:00:43 +00:00
Suren Baghdasaryan 1d0ebeaa9c lmkd: Add property re-initialization support
Add --reinit command-line option to allow updating lmkd properties. For
example to enable debug logging in the running lmkd process user should
issue:

setprop ro.lmk.debug true
lmkd --reinit

Bug: 155149944
Test: lmkd_unit_test after resetting lmkd properties
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ic60331f3368f5a7fdfe09ad7d47c7ccf0a497685
2020-05-06 15:05:04 -07:00
Suren Baghdasaryan 3967548543 lmkd: enable ro.lmk.kill_timeout_ms to be used with kill notifications am: 03dccf35a1 am: d77a36e91b
Change-Id: Ib92ac62009b7cefa3e265c29278080fabb51fb71
2020-04-30 00:33:25 +00:00
Suren Baghdasaryan f548154e2f lmkd: polling code cleanup am: 9ca5334683 am: 63123e1b84
Change-Id: I584542e05a7facac1c41c81549d31cd3edcdc2d4
2020-04-30 00:33:19 +00:00
Suren Baghdasaryan 1e7908dbc7 lmkd: add kill when swap utilization is too high am: 51ee4c505f am: 45737af035
Change-Id: Id06d5db6fa0ec9f7c15247afd4e6b558264080f9
2020-04-30 00:33:12 +00:00
Suren Baghdasaryan d77a36e91b lmkd: enable ro.lmk.kill_timeout_ms to be used with kill notifications am: 03dccf35a1
Change-Id: I564cf2f1f21481b13f53df0606d03226c444ef19
2020-04-30 00:17:07 +00:00
Suren Baghdasaryan 63123e1b84 lmkd: polling code cleanup am: 9ca5334683
Change-Id: I4cf6a8f55d9fc127d80686c07ce2893f3146f0da
2020-04-30 00:17:01 +00:00
Suren Baghdasaryan 45737af035 lmkd: add kill when swap utilization is too high am: 51ee4c505f
Change-Id: If8e5648ae6965d1f26c0032aa0ca548695d2b33f
2020-04-30 00:16:54 +00:00
Suren Baghdasaryan 03dccf35a1 lmkd: enable ro.lmk.kill_timeout_ms to be used with kill notifications
Allow lmkd to stop waiting for a kill notification if a kill takes longer
than ro.lmk.kill_timeout_ms.

Bug: 147315292
Test: lmkd_unit_test with ro.lmk.kill_timeout_ms set to 100
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ia3eed3448fd6928a5e634c2737044722048b3578
2020-04-29 15:11:36 -07:00
Suren Baghdasaryan 9ca5334683 lmkd: polling code cleanup
- Remove unused POLLING_STOP state
- Simplify POLLING_DO_NOT_CHANGE state handling
- Correct last_poll_tm assignment logic

Bug: 147315292
Test: lmkd_unit_test
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: If0674eda954a25f0f6c9188501ff77db8ba0813b
2020-04-29 15:11:15 -07:00
Suren Baghdasaryan 51ee4c505f lmkd: add kill when swap utilization is too high
When non-swappable allocations cause memory pressure swap will not be
depleted, however a high percentage of the swappable memory will be
pushed into swap. Detect this condition and kill a process when swap
utilization is too high while under memory pressure.
Introduce ro.lmk.swap_util_max property to represent max percentage of
the overall swappable memory that can be swapped under memory pressure
without triggering a kill. ro.lmk.swap_util_max is set to 100 by default
which disables kills due to the swap utilization.

Bug: 147315292
Test: ION memory hogger with ro.lmk.swap_util_max set to 95
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I6dbf124bb24b220d136e8f16b3dae0c0c30d32ca
2020-04-29 15:11:02 -07:00
Tom Cherry d61445c93c Include what you use: <stdio.h> and <unistd.h> am: 24b31dced5 am: e3858891a4
Change-Id: I166eae5deb927ea9934266a4f31e341d248287d8
2020-04-14 01:48:24 +00:00
Tom Cherry e3858891a4 Include what you use: <stdio.h> and <unistd.h> am: 24b31dced5
Change-Id: Id5cebf4c2e8e268d8b64c30c02cc5265190677ca
2020-04-14 01:13:01 +00:00
Tom Cherry 24b31dced5 Include what you use: <stdio.h> and <unistd.h>
These were transitively included, but no longer are, so they must be
explicitly included.

Exempt-From-Owner-Approval: Janitorial
Test: build
Change-Id: Ic0896401d148b22f33d6edb1fac377208e437565
2020-04-13 15:21:09 -07:00
Tom Cherry 54122bb8e0 Include what you use: <fcntl.h> am: 0ebe6800bc am: 8ba967fb30
Change-Id: I9d30d9bac9ad386ed429767b99106632d158cada
2020-04-13 19:55:59 +00:00
Tom Cherry 8ba967fb30 Include what you use: <fcntl.h> am: 0ebe6800bc
Change-Id: I9cec3a4d2e00e996880beaaacf55d74a12f6a016
2020-04-13 19:36:16 +00:00
Tom Cherry 0ebe6800bc Include what you use: <fcntl.h>
This was transitively included, but no longer is, so it must be
explicitly included.

Exempt-From-Owner-Approval: Janitorial
Test: build
Change-Id: I89657fa33df4bc0f92685012b3ab9b24d55d1619
2020-04-13 11:10:12 -07:00
Xin Li c4f5136d3c [automerger skipped] DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp into stag-aosp-master am: ee05bc2f99 -s ours
am skip reason: subject contains skip directive

Change-Id: I5975ea07816b991f07523d18008fdf68e0e321c6
2020-04-10 03:26:14 +00:00
Xin Li ee05bc2f99 DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp into stag-aosp-master
Bug: 151763422
Change-Id: I4d701ead7b0d88ae89575f79844557290e109f66
2020-04-09 17:51:29 -07:00
Xin Li 3313cbce58 DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp@6304901 into stag-aosp-master am: a28018dcb9
Change-Id: I38113dd9d2071de5be0e90bab55297d00a5b5d35
2020-03-19 04:22:52 +00:00
Xin Li cb4c05feaa [automerger skipped] DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp@6304901 into stag-aosp-master am: a28018dcb9 -s ours
am skip reason: subject contains skip directive

Change-Id: I499b013b1a9147811123a328ec99c3dbde5f3011
2020-03-19 04:19:45 +00:00
Xin Li a28018dcb9 DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp@6304901 into stag-aosp-master
Bug: 151763422
Change-Id: I3ea7e3bb734ff3fb28e34c7b246065541c62c23b
2020-03-18 19:40:58 -07:00
Automerger Merge Worker 23a9195feb lmkd_test: set process types am: fce58e9165 am: 8b760ee3d4
Change-Id: Ib2981a1ee5dfd276dee992e8fb599e0a3d591eec
2020-03-09 20:19:04 +00:00
Automerger Merge Worker eac5bff2fa lmkd_test: set process types am: fce58e9165 am: 8b760ee3d4
Change-Id: I2b44bdd6604c2d9678e041fc7b29aab9252314c2
2020-03-09 20:16:19 +00:00
Automerger Merge Worker 8b760ee3d4 lmkd_test: set process types am: fce58e9165
Change-Id: Icdfe43af674d3643a3c304c16bc827762151f050
2020-03-09 20:03:53 +00:00
Martin Liu fce58e9165 lmkd_test: set process types
We introduced supporting process type while
registering a process in lmkd. Thus we need
to set process type when registering the test
unit or lmkd would not be able to kill it.

Bug: 143857475
Test: Verified using lmkd_unit_test
Change-Id: I7bf2b552c242dbdc13bb431248ec9182dccaa599
2020-03-09 13:17:51 +08:00
Muhammad Qureshi 0eefbff7b9 Link libstatssocket as a shared library. am: 87168c0e26 am: 2171a0c2f4 am: e18b6d0b90
Change-Id: I3c9c5d48f57fc57e34c059a4863856a90607ae03
2020-02-14 22:37:37 +00:00
Muhammad Qureshi e18b6d0b90 Link libstatssocket as a shared library. am: 87168c0e26 am: 2171a0c2f4
Change-Id: Idb85f7875499f727744bd7b6cbe2f40ff7991efe
2020-02-14 22:19:30 +00:00
Muhammad Qureshi 2171a0c2f4 Link libstatssocket as a shared library. am: 87168c0e26
Change-Id: I02b53349508cfead1d6a43704b39ad648bf8e3f0
2020-02-14 22:00:51 +00:00
Muhammad Qureshi 87168c0e26 Link libstatssocket as a shared library.
As part of moving libstatssocket into statsd apex, libstatssocket will
only be available as a shared library.

Bug: 145923416
Test: m
Change-Id: Ia6b13dcd378011c201b2595d2b3f3fc14213011b
2020-02-12 16:42:53 -08:00
Automerger Merge Worker 5ce5183e22 [automerger skipped] DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master am: 45cb77c5bc am: 5759b94152 -s ours
am skip reason: subject contains skip directive

Change-Id: Id1f72e87196c7e6e20c65a3110f2719c8adf373a
2020-01-16 01:58:50 +00:00
Automerger Merge Worker 5759b94152 DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master am: 45cb77c5bc
Change-Id: Id74bdff1f30e8a1a6da7ddd6c2c989eb1e0f889e
2020-01-16 01:46:18 +00:00
Xin Li 45cb77c5bc DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master
Bug: 146167222
Change-Id: I0adb962a42c190f863a301731f8cf53237821555
2020-01-15 15:59:17 -08:00
Automerger Merge Worker 80db5e76e1 Use generated code for logging events to statsd am: ed8fe8465a am: 0ecafff527 am: 08a1f55b5c
Change-Id: Ia4cfd02666dbd8269f4dcde0fec6309e00dd9069
2020-01-15 23:32:46 +00:00
Automerger Merge Worker 08a1f55b5c Use generated code for logging events to statsd am: ed8fe8465a am: 0ecafff527
Change-Id: I3a438b1f43acd9e02031f1da3c66927ace16e607
2020-01-15 23:21:52 +00:00
Muhammad Qureshi 0ecafff527 Use generated code for logging events to statsd
am: ed8fe8465a

Change-Id: I7c80056a8453345552042728e3eea7c5ef5ccdca
2020-01-15 15:03:59 -08:00
Muhammad Qureshi ed8fe8465a Use generated code for logging events to statsd
Use the autogenerated libstatslog_lmkd to send events to statsd

The logging schema for statsd is changing as part of statsd becoming
a Mainline module in R. The autogenerated code will handle the schema
change.

Bug: 145887874
Test: m -j
Test: atest android.cts.statsd.atom.UidAtomTests#testLmkKillOccurred

Change-Id: Ibae4cd822807369a799d5c1f6a9c51272e38a074
2020-01-13 12:16:47 -08:00
Automerger Merge Worker 81ac3f6b11 lmkd: Restrict lmkd unsolicited notifications only to subscribed recipients am: 36baf44179 am: 9c7233e6c7 am: 1c18c3396b
Change-Id: I068d6335c7a0e09756cc343fb198261b0050472e
2019-12-23 23:26:38 +00:00
Automerger Merge Worker 1c18c3396b lmkd: Restrict lmkd unsolicited notifications only to subscribed recipients am: 36baf44179 am: 9c7233e6c7
Change-Id: Ib77c400f901477dce48127fc87e3531c113db2d9
2019-12-23 23:15:52 +00:00
Suren Baghdasaryan 9c7233e6c7 lmkd: Restrict lmkd unsolicited notifications only to subscribed recipients
am: 36baf44179

Change-Id: Iccb0b07c089bcf345e2dd8b5b08f412f3a891b9a
2019-12-23 15:02:33 -08:00
Suren Baghdasaryan 36baf44179 lmkd: Restrict lmkd unsolicited notifications only to subscribed recipients
lmkd unsolicited notifications can cause lmkd to block if clients are not
consuming them. Fix that by sending notifications to only subscribed
clients. Introduce LMK_SUBSCRIBE command to allow lmkd clients to subscribe
to event notifications. The only asynchronous event currently supported is
LMK_ASYNC_EVENT_KILL.

Bug: 146597855
Test: fill up send buffer using lmkd_unit_test
Test: confirm lmkd does not block after the fix
Change-Id: I014159aa55b59081f4b9ed53ecd160a49c0682bb
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-12-23 12:35:29 -08:00
Automerger Merge Worker a09aecfe6a lmkd_test: align proc_name with lmkd am: f2ead0ca1a am: 3cfaed6e43 am: 6b9bcd6944
Change-Id: I9a6e9d497f281000578512d9ec9a0abdf8433e23
2019-12-21 04:36:15 +00:00
Automerger Merge Worker 6b9bcd6944 lmkd_test: align proc_name with lmkd am: f2ead0ca1a am: 3cfaed6e43
Change-Id: I78837e4a72b0086498a5b6824d2a7c4ad5b86e86
2019-12-21 04:22:51 +00:00
Martin Liu 3cfaed6e43 lmkd_test: align proc_name with lmkd
am: f2ead0ca1a

Change-Id: If6fa397d5b2a2292270cec666bf8b05dd1bac183
2019-12-20 20:04:21 -08:00