Commit Graph

407 Commits

Author SHA1 Message Date
Rajeev Kumar eb7208fbf6 Read memory stats from /proc/pid/stat file.
(cherry pick from commit 0301683e49ab255769b15469487feaab3466167a)
Bug: 117333340
Test: Manual testing using alloc-stress tool
Merged-In: Ie555933aafa6a6b7aa1dbf5518ebe804376e0afd

Change-Id: I8ab08606dba7de2f65711204453067dbfbdcbdd8
2019-03-05 11:53:14 -08:00
Suren Baghdasaryan e1228bd545 Add min_score_adj into LmkKillOccurred event
Log min_score_adj when lmkd kills a process to determine the oom_score
levels that lmkd considers during the kill.

Bug: 123024834
Change-Id: I986ae8f2808199b1654bc8d2a32dd88046c79aa3
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-03-05 09:51:06 +00:00
Juju Sung 7bd3ac3290 Merge "lmkd: Remove redundant free swap and free memory check" am: 89a7cc48cc am: ab0319ece8
am: e8cce305b4

Change-Id: Ie9ad61bcd4de78cf72b05b7075e526afaf4e1252
2019-02-26 04:19:40 -08:00
Juju Sung 045248a43a Merge "lmkd: Remove redundant free swap and free memory check" am: 89a7cc48cc
am: ab0319ece8

Change-Id: I727d624f1149452ce755c0145f13a286f6422048
2019-02-26 02:54:06 -08:00
Juju Sung 405fe42b53 Merge "lmkd: Remove redundant free swap and free memory check"
am: 89a7cc48cc

Change-Id: I905a1d573d2fa66588a4dd436f4d1bd4cdf009ff
2019-02-26 02:08:59 -08:00
Xin Li 64435abd03 [automerger skipped] DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master am: 2d544cf8ce -s ours
am: dfa2db058b -s ours
am skip reason: subject contains skip directive

Change-Id: Ia7f209fe6fe25558172c57e29df92c72f2e76991
2019-02-25 17:20:40 -08:00
Xin Li a95647cbfb [automerger skipped] DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master
am: 2d544cf8ce -s ours
am skip reason: subject contains skip directive

Change-Id: I3f850473d57c1de65ef13055bf4c1ea8110c7b9f
2019-02-25 16:20:07 -08:00
Xin Li 32bc2d15ec DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master
Bug: 120848293
Change-Id: I92822048a7862acaa669847b2fa9c8f708159952
2019-02-21 11:28:44 -08:00
Juju Sung 94cd15bf22 lmkd: Remove redundant free swap and free memory check
lmkd can't kill processes because it has compare the size between free swap and free memory. Free swap is often larger than the free memory when system is under low memory with less swap-backed or swappable pages and finally leads to I/O thrashing.

Test: TreeHugger
Bug: 124727769
Change-Id: Ia2848859aa97a24bd13c704acee4b86cd2d3f647
2019-02-19 17:04:07 +00:00
Xin Li a3c2a8eecd [automerger skipped] Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master am: 1c06c1e2de -s ours
am: cecb83d0f9 -s ours
am skip reason: subject contains skip directive

Change-Id: I6ae930275dd15e24b356a7cd76c9f5975679d33a
2019-02-14 21:51:04 -08:00
Xin Li 1ea0349f8b [automerger skipped] DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master am: caa079eb65 -s ours
am: 2eafbb0d48 -s ours
am skip reason: subject contains skip directive

Change-Id: Ifc49e24f39b0d2a6d4c77812e8a4ddb2609fa4cf
2019-02-14 21:13:08 -08:00
Xin Li c7382e6b32 [automerger skipped] Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master
am: 1c06c1e2de -s ours
am skip reason: subject contains skip directive

Change-Id: If7474ebb1d64133d48f89623ba8c93b8030dcd29
2019-02-14 17:01:59 -08:00
Xin Li 091ed68777 [automerger skipped] DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master
am: caa079eb65 -s ours
am skip reason: subject contains skip directive

Change-Id: Iabd23608baea52bf58e62389bfc60ea2c6944a12
2019-02-14 14:46:51 -08:00
Xin Li 27d4026e81 Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master 2019-02-14 22:11:39 +00:00
Pirama Arumuga Nainar 0cf218bec0 Merge "Make inlines static" am: 68c5ce22fb am: 4834824a37
am: cc419e4be5

Change-Id: I37482f133909015781990bdd5a1e8817b0330a4b
2019-02-12 22:50:40 -08:00
Pirama Arumuga Nainar 31606a56ce Merge "Make inlines static" am: 68c5ce22fb
am: 4834824a37

Change-Id: I508d68ff366f3deefa02f0cbb58e585ef8e3f9a9
2019-02-12 22:46:30 -08:00
Pirama Arumuga Nainar 65cc057be1 Merge "Make inlines static"
am: 68c5ce22fb

Change-Id: I08c066b7c49015b07aa46cff884a97d9dd2f675d
2019-02-12 22:42:21 -08:00
Xin Li 4f97674892 DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master
Bug: 124234733
Change-Id: I10ec04a9bb7e61400796db3d9993ac870b792c99
2019-02-12 16:36:41 -08:00
android-build-team Robot 8600b07f2a Snap for 5180536 from cddcc0d9cf7cbba53e54d67455737a3900ae5d9f to pi-platform-release
Change-Id: Ie01971579962cce36d3170df9c1cb09f8b152520
2019-02-09 02:22:24 +00:00
Pirama Arumuga Nainar f85d4216fd Make inlines static
Bug: http://b/116873221

If not, building with coverage (and -O0) is broken since Clang does not
inline these functions, and does not emit a definition because they are
not static or extern.

Test: Build with coverage (-O0)

Change-Id: I2880119834f764164a1aac10b696e76a2b462b71
2019-02-06 15:19:00 -08:00
Greg Kaiser 3639a3b7d4 Merge "lmdk: Remove redundant 'if' check" am: 6cb668b992 am: 164ea570b3
am: 6aec0d1491

Change-Id: Ibeb8d778575e30d0672b0d7034f1ec2c4a36bb09
2019-02-04 22:57:56 -08:00
Greg Kaiser 673f2f9632 Merge "lmdk: Remove redundant 'if' check" am: 6cb668b992
am: 164ea570b3

Change-Id: Idb3f3a4aa875909eacc48e03717f170e560261c0
2019-02-04 22:07:32 -08:00
Greg Kaiser c5296202ff Merge "lmdk: Remove redundant 'if' check"
am: 6cb668b992

Change-Id: I119eac076221143d673867e2ed54e4c9cc0c2e73
2019-02-04 12:27:27 -08:00
Greg Kaiser 584f3fd35f lmdk: Remove redundant 'if' check
We already know that "polling" must be non-zero at this point,
because it hasn't been modified since our check on line 1960.
So we remove this check for code clarity.

Test: TreeHugger
Change-Id: I069d9fd0eef70748a5333733dd0518d1ac8021b7
2019-02-04 08:50:10 -08:00
Suren Baghdasaryan 2e28615782 Merge "lmkd: Add support for psi monitors" am: bec585440c am: b32788fc5e
am: 92a5149a3b

Change-Id: I613401d77e33313ba9df7a71ce79938ed7f2538b
2019-02-01 12:19:38 -08:00
Suren Baghdasaryan 8e9d64875f Merge "lmkd: Add support for psi monitors" am: bec585440c
am: b32788fc5e

Change-Id: I9dcaae34a493d17216cbd27b40422faa2dc6a665
2019-02-01 11:41:50 -08:00
Suren Baghdasaryan 627180e7c1 Merge "lmkd: Add support for psi monitors"
am: bec585440c

Change-Id: I68f6210177b96083990631da6d41795c948aeae5
2019-02-01 11:11:04 -08:00
Suren Baghdasaryan 55e3150842 lmkd: Add support for psi monitors
With new psi monitor support in the kernel lmkd can use it to register
custom pressure levels. Add lmkd support for psi monitors when they are
provided by the kernel and use them by default. When kernel does not
support psi lmkd will fall back to vmpressure usage.
Add ability to poll memory status after the initial psi event is triggered
because kernel throttles psi memory pressure events to one per PSI tracking
window (currently set to 1sec). Current implementation polls every 200ms
for 1sec duration after the initial event is triggered.
If ro.lmk.use_psi is set to false psi logic will be disabled even when psi
is supported in kernel.

Bug: 111308141
Test: lmkd_unit_test
Change-Id: I685774b176f393bab7412161773f5c9af51e0163
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-02-01 18:40:32 +00:00
Suren Baghdasaryan 21a7d9da19 Merge "libpsi: initial revision" am: bb405bf986 am: b9550970ef
am: 2b063925d1

Change-Id: I24f70b6f846a90dede9c964f309f76fcc04f98e7
2019-01-29 21:33:14 -08:00
Suren Baghdasaryan 79a94be9a2 Merge "libpsi: initial revision" am: bb405bf986
am: b9550970ef

Change-Id: I61ea0221b2fc366359fe6c9de7c0435bb2fb3095
2019-01-29 21:15:13 -08:00
Suren Baghdasaryan c750961a19 Merge "libpsi: initial revision"
am: bb405bf986

Change-Id: I7dde222de933f7f52d4d7e09a6d3806d88e23a69
2019-01-29 21:04:17 -08:00
Tim Murray d6348dfa08 libpsi: initial revision
New library to create, register and destroy PSI monitors in a consistent
way with lmkd.

Test: used within lmkd
Bug: 111308141
Change-Id: If243a97f178e90fe41e2de90c7b858ba82440279
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-30 04:47:28 +00:00
Suren Baghdasaryan 5cad577ff4 [automerger skipped] DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for sched_policy users"" am: 9491078300 -s ours am: 7f758a81e4 -s ours
am: 8f6481d8cd -s ours
am skip reason: subject contains skip directive

Change-Id: I7f5e7d4e2972ef5febb76216da49e65175e5f1ea
2019-01-25 09:39:35 -08:00
Suren Baghdasaryan 479f61620c [automerger skipped] DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for sched_policy users"" am: 9491078300 -s ours
am: 7f758a81e4 -s ours
am skip reason: subject contains skip directive

Change-Id: Icc1aed0aab4a45e674c56083648bdb348c73db3e
2019-01-25 09:27:31 -08:00
Suren Baghdasaryan 86f94e0e4a [automerger skipped] DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for sched_policy users""
am: 9491078300 -s ours
am skip reason: subject contains skip directive

Change-Id: I6a090381ab3764d9ea2a5bed1de39aef1872b6a7
2019-01-25 09:21:34 -08:00
Suren Baghdasaryan de92718882 DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for sched_policy users""
This reverts commit 1bef8c550c6c9118969a93f14d9c5933cb7b2811.

Reason for revert: AOSP is fixed with new vendor image

Change-Id: Ib341ac80e2f88c13a7815a490ea2d9422ebdf55f
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-25 16:49:18 +00:00
Suren Baghdasaryan 721c3da834 [automerger skipped] DO NOT MERGE: Revert "Add libprocessgroup into VNDK" am: c4a02d25a9 -s ours am: 88fe832bd1 -s ours
am: 83af010b08 -s ours
am skip reason: subject contains skip directive

Change-Id: I63b5e75e5b5d8062e8faeb100b2010193df51bb4
2019-01-23 23:30:17 -08:00
Suren Baghdasaryan 275d26abaf [automerger skipped] DO NOT MERGE: Revert "Add libprocessgroup into VNDK" am: c4a02d25a9 -s ours
am: 88fe832bd1 -s ours
am skip reason: subject contains skip directive

Change-Id: I9cebea94be96453006f637eadfaa86604d2477cb
2019-01-23 23:17:40 -08:00
Suren Baghdasaryan 87cbcdc3fe [automerger skipped] DO NOT MERGE: Revert "Add libprocessgroup into VNDK"
am: c4a02d25a9 -s ours
am skip reason: subject contains skip directive

Change-Id: I9131c17d5fc372db05699f1aca5138fba1237c7a
2019-01-23 23:08:47 -08:00
Suren Baghdasaryan efeeaafc9b DO NOT MERGE: Revert "Add dependencies on libprocessgroup for sched_policy users"
This reverts commit 02843339f998f05c712549658c9f8f8bc14ff57d.

Reason for revert: Broke AOSP

Change-Id: I62f91c0adf440b5da0a145862b04dd27a7016faf
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-23 20:43:28 -08:00
Wei Wang fb647dfd8b [automerger skipped] lmkd: bump process priority and set to FOREGROUND group before kill am: 6f2198b33c -s ours
am: fa31b7ab46 -s ours
am skip reason: change_id Iae7aa35483eb0e8bbeccaa425559c6021c845ee1 with SHA1 2d95c10847 is in history

Change-Id: I1de78dfc910c912169f97fb74960de3d510f1c9b
2019-01-23 08:52:25 -08:00
Wei Wang 1e030a55af [automerger skipped] lmkd: bump process priority and set to FOREGROUND group before kill
am: 6f2198b33c -s ours
am skip reason: change_id Iae7aa35483eb0e8bbeccaa425559c6021c845ee1 with SHA1 2d95c10847 is in history

Change-Id: Ie6edfd5e201455c5b1e55a38ba88cdf72d9519fd
2019-01-23 08:38:30 -08:00
Wei Wang 6dd07fcb53 lmkd: bump process priority and set to FOREGROUND group before kill
This should help speed up reclaim memory.

Bug: 118468011
Bug: 121439388
Test: run mem-pressure with lmkd
Change-Id: Iae7aa35483eb0e8bbeccaa425559c6021c845ee1
Merged-In: Iae7aa35483eb0e8bbeccaa425559c6021c845ee1
2019-01-23 05:20:36 +00:00
Suren Baghdasaryan 4b7173d4a3 [automerger skipped] Merge changes from topic "move sched_policy functions" am: ca50ee91b5 am: e8b2ac49bb
am: 6738419e09 -s ours
am skip reason: change_id Icc052080e1bce46ce06f7264446950cab0490a95 with SHA1 634e884419 is in history

Change-Id: I80026ca51b85fa55a4051acdfca216da040a714d
2019-01-22 14:06:44 -08:00
Suren Baghdasaryan f3c0a84339 Merge changes from topic "move sched_policy functions" am: ca50ee91b5
am: e8b2ac49bb

Change-Id: I9ba62bc4cce474b2a12af5a1035714ac9dd39703
2019-01-22 13:41:10 -08:00
Suren Baghdasaryan 8d13df7d38 Merge changes from topic "move sched_policy functions"
am: ca50ee91b5

Change-Id: I92310f7dd60384b95c056c98cdc616857ebcd1ec
2019-01-22 13:03:07 -08:00
Suren Baghdasaryan fb99b0a5f9 Add dependencies on libprocessgroup for sched_policy users
After moving sched_policy functions into libprocessgroup its users require
additional dependency and inclusion of sched_policy_ctrl.h header.

Exempt-From-Owner-Approval: janitorial

Bug: 111307099
Test: builds, boots

Merged-In: Icc052080e1bce46ce06f7264446950cab0490a95
Change-Id: Icc052080e1bce46ce06f7264446950cab0490a95
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-22 18:19:45 +00:00
Suren Baghdasaryan 74b8abcda7 Add dependencies on libprocessgroup for sched_policy users
After moving sched_policy functions into libprocessgroup its users require
additional dependency and inclusion of sched_policy_ctrl.h header.

Exempt-From-Owner-Approval: janitorial

Bug: 111307099
Test: builds, boots

Change-Id: Icc052080e1bce46ce06f7264446950cab0490a95
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-17 18:24:10 -08:00
Wei Wang 042400c4fc Merge "lmkd: bump process priority and set to FOREGROUND group before kill" am: 3f4b005022 am: 528f4a7e6f
am: 33c4d54eb1

Change-Id: I81299b8f335f0f9e79be3514bc55ddd08a81587d
2019-01-15 19:21:40 -08:00
Wei Wang 3807aa6560 Merge "lmkd: bump process priority and set to FOREGROUND group before kill" am: 3f4b005022
am: 528f4a7e6f

Change-Id: I0d052a83f04e5188980910f29e83b872b7d522f4
2019-01-15 19:17:58 -08:00