Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6fcb7b7 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix exception spam in ActivityManagerService." into nyc-mr1-dev

parents c687f614 feb846c2
Loading
Loading
Loading
Loading
+32 −11
Original line number Diff line number Diff line
@@ -2337,7 +2337,7 @@ public final class ActivityManagerService extends ActivityManagerNative
                                                Process.SCHED_OTHER, 0);
                                        }
                                    } catch (IllegalArgumentException e) {
                                        Slog.e(TAG, "Failed to set scheduling policy, thread does"
                                        Slog.w(TAG, "Failed to set scheduling policy, thread does"
                                                + " not exist:\n" + e);
                                    }
                                }
@@ -12588,11 +12588,16 @@ public final class ActivityManagerService extends ActivityManagerNative
                    proc.vrThreadTid = tid;
                    // promote to FIFO now if the tid is non-zero
                    if (proc.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP
                            && proc.vrThreadTid > 0) {
                    try {
                        if (proc.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP &&
                            proc.vrThreadTid > 0) {
                            Process.setThreadScheduler(proc.vrThreadTid,
                                Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
                        }
                    } catch (IllegalArgumentException e) {
                        Slog.e(TAG, "Failed to set scheduling policy, thread does"
                               + " not exist:\n" + e);
                    }
                }
            }
        }
@@ -20353,17 +20358,29 @@ public final class ActivityManagerService extends ActivityManagerNative
                        if (oldSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
                            // Switch VR thread for app to SCHED_FIFO
                            if (mInVrMode && app.vrThreadTid != 0) {
                                try {
                                    Process.setThreadScheduler(app.vrThreadTid,
                                        Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
                                } catch (IllegalArgumentException e) {
                                    // thread died, ignore
                                }
                            }
                            if (mUseFifoUiScheduling) {
                                // Switch UI pipeline for app to SCHED_FIFO
                                app.savedPriority = Process.getThreadPriority(app.pid);
                                try {
                                    Process.setThreadScheduler(app.pid,
                                        Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
                                } catch (IllegalArgumentException e) {
                                    // thread died, ignore
                                }
                                if (app.renderThreadTid != 0) {
                                    try {
                                        Process.setThreadScheduler(app.renderThreadTid,
                                            Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
                                    } catch (IllegalArgumentException e) {
                                        // thread died, ignore
                                    }
                                    if (DEBUG_OOM_ADJ) {
                                        Slog.d("UI_FIFO", "Set RenderThread (TID " +
                                            app.renderThreadTid + ") to FIFO");
@@ -20377,7 +20394,11 @@ public final class ActivityManagerService extends ActivityManagerNative
                                // Boost priority for top app UI and render threads
                                Process.setThreadPriority(app.pid, -10);
                                if (app.renderThreadTid != 0) {
                                    try {
                                        Process.setThreadPriority(app.renderThreadTid, -10);
                                    } catch (IllegalArgumentException e) {
                                        // thread died, ignore
                                    }
                                }
                            }
                        }