OSDN Git Service

oomAdjuster: Change default demotion of renderthreads to default graphics priority
authorMiguel de Dios <migueldedios@google.com>
Tue, 23 Jul 2019 20:50:10 +0000 (13:50 -0700)
committerMiguel de Dios <migueldedios@google.com>
Fri, 26 Jul 2019 18:41:22 +0000 (11:41 -0700)
Bug: 137118936
Test: manual - continuously maximize/minimize app and take traces
Change-Id: I9980d93f18132fa4a5653ceb68a2b482f95a22b1

services/core/java/com/android/server/am/OomAdjuster.java

index bcfe71b..dbf8acf 100644 (file)
@@ -34,6 +34,7 @@ import static android.os.Process.THREAD_GROUP_BG_NONINTERACTIVE;
 import static android.os.Process.THREAD_GROUP_DEFAULT;
 import static android.os.Process.THREAD_GROUP_RESTRICTED;
 import static android.os.Process.THREAD_GROUP_TOP_APP;
+import static android.os.Process.THREAD_PRIORITY_DISPLAY;
 import static android.os.Process.setProcessGroup;
 import static android.os.Process.setThreadPriority;
 import static android.os.Process.setThreadScheduler;
@@ -1803,7 +1804,6 @@ public final class OomAdjuster {
                                 if (app.renderThreadTid != 0) {
                                     setThreadScheduler(app.renderThreadTid,
                                             SCHED_OTHER, 0);
-                                    setThreadPriority(app.renderThreadTid, -4);
                                 }
                             } catch (IllegalArgumentException e) {
                                 Slog.w(TAG,
@@ -1815,9 +1815,10 @@ public final class OomAdjuster {
                         } else {
                             // Reset priority for top app UI and render threads
                             setThreadPriority(app.pid, 0);
-                            if (app.renderThreadTid != 0) {
-                                setThreadPriority(app.renderThreadTid, 0);
-                            }
+                        }
+
+                        if (app.renderThreadTid != 0) {
+                            setThreadPriority(app.renderThreadTid, THREAD_PRIORITY_DISPLAY);
                         }
                     }
                 } catch (Exception e) {