Merge "Signal lmkd to start psi monitoring after boot." into main

This commit is contained in:
Lee George Thomas
2023-07-19 22:28:24 +00:00
committed by Gerrit Code Review
2 changed files with 13 additions and 0 deletions

View File

@@ -5176,6 +5176,9 @@ public class ActivityManagerService extends IActivityManager.Stub
// Tell anyone interested that we are done booting!
SystemProperties.set("sys.boot_completed", "1");
// Start PSI monitoring in LMKD if it was skipped earlier.
ProcessList.startPsiMonitoringAfterBoot();
// And trigger dev.bootcomplete if we are not showing encryption progress
if (!"trigger_restart_min_framework".equals(VoldProperties.decrypt().orElse(""))
|| "".equals(VoldProperties.encrypt_progress().orElse(""))) {

View File

@@ -350,6 +350,7 @@ public final class ProcessList {
static final byte LMK_UPDATE_PROPS = 7;
static final byte LMK_KILL_OCCURRED = 8; // Msg to subscribed clients on kill occurred event
static final byte LMK_STATE_CHANGED = 9; // Msg to subscribed clients on state changed
static final byte LMK_START_MONITORING = 9; // Start monitoring if delayed earlier
// Low Memory Killer Daemon command codes.
// These must be kept in sync with async_event_type definitions in lmkd.h
@@ -1483,6 +1484,15 @@ public final class ProcessList {
return true;
}
/**
* {@hide}
*/
public static void startPsiMonitoringAfterBoot() {
ByteBuffer buf = ByteBuffer.allocate(4);
buf.putInt(LMK_START_MONITORING);
writeLmkd(buf, null);
}
private static boolean writeLmkd(ByteBuffer buf, ByteBuffer repl) {
if (!sLmkdConnection.isConnected()) {
// try to connect immediately and then keep retrying