Increase the max binder thread pool size for system_server.
bug 28201939
Change-Id: Iaade417a26247970b96f0aaacb3844d72de6399c
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 8c2f559..9f2ca59 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -165,6 +165,10 @@
private static final String UNCRYPT_PACKAGE_FILE = "/cache/recovery/uncrypt_file";
private static final String BLOCK_MAP_FILE = "/cache/recovery/block.map";
+ // maximum number of binder threads used for system_server
+ // will be higher than the system default
+ private static final int sMaxBinderThreads = 31;
+
/**
* Default theme used by the system context. This is used to style
* system-provided dialogs, such as the Power Off dialog, and other
@@ -285,6 +289,9 @@
// Ensure binder calls into the system always run at foreground priority.
BinderInternal.disableBackgroundScheduling(true);
+ // Increase the number of binder threads in system_server
+ BinderInternal.setMaxThreads(sMaxBinderThreads);
+
// Prepare the main looper thread (this thread).
android.os.Process.setThreadPriority(
android.os.Process.THREAD_PRIORITY_FOREGROUND);